Deploy GKE on-prem rather than K8s Open Source Distribution on-prem
Tags: kubernetes, googlecloud, gke, anthos
Published: 2021-10-02 16:26:05

This is **my two cents** on the best Kubernetes distribution option that you want for your on-premise.

Kubernetes (K8s) has come along way to make deployment, scaling, and management of containerized applications easier for everyone _(including a mere child)_.

###Lil Bit of K8s History
Please see this amazing K8s timeline published on a blog by RisingStack on the link below;

https://blog.risingstack.com/the-history-of-kubernetes/#thehistoryofkubernetes

I have practical experience with GKE for the last ~2 years and I have seen the service evolved greatly during that [time](https://cloud.google.com/kubernetes-engine/docs/release-notes). When Anthos was announced in [2018](https://cloud.google.com/blog/products/gcp/cloud-services-platform-bringing-the-best-of-the-cloud-to-you) it was exciting and confusing to me because the public documentation was not really straight forward how to deploy or use Anthos.

As of 2021 [Anthos Guides](https://cloud.google.com/anthos/docs/setup/overview) have improved so well and anyone with GKE or K8s experience can be able to understand how to set it up and the prices as are more attractive than ever before.

![Anthos Pricing as of October 1st, 2021](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gom73rno98dpg9i034f5.png)


###Register Your Existing Kubernetes Cluster to Anthos

If you have an existing Kubernetes running on premise / datacenter and you followed either one of these [guides](https://kubernetes.io/docs/setup/production-environment/tools/) then you can attach your K8 cluster to Anthos. But before you begin you need to under stand which **Anthos deployment option** you will be in.

As of October 2021 there are 6 Anthos deployment options;
* Anthos on Google Cloud (General Availability)
* Anthos Cluster on VMware (General Availability)
* Anthos Cluster on bare metal (General Availability)
* Anthos Clusters on AWS (GKE on AWS in General Availability)
* Anthos Clusters on Azure (Preview)
* Anthos Attached Clusters (General Availability)

_Get more information about Google Cloud product launch stages [here](https://cloud.google.com/products#product-launch-stages)_

K8s admins with an existing K8s cluster on premise will be subscribed to *Anthos Attached Clusters* by Anthos automatically during the [set up](https://cloud.google.com/anthos/docs/setup/attached-clusters).

###The Harsh Reality

Once your K8s cluster is registered to Anthos and logged in to your cluster from the Google Cloud console, you can view all your Workloads, Services, Ingress, etc. **Please do not have high hopes** because that will be it (kinda). Just viewing your resources on another dashboard while you can get the same and even better from Kubernetes Dashboard. May be if you have multiple K8s clusters then it will be fantastic to view your resources but your reaction eventually will be 'meh!' 😒

You will probably be eager to see the resources metrics and logs on the Anthos dashboard but you will require to go through this, [Logging and monitoring for Anthos attached clusters](https://cloud.google.com/anthos/attached-clusters/docs/logging-monitoring) and still create your own monitoring dashboard on Cloud Monitoring using [Metric Explorer](Using Metrics Explorer) or [building queries for Cloud Monitoring](Building queries for Cloud Monitoring) that might take you forever if you have 'little' to 'no knowledge' of [Prometheus metrics](https://kubernetes.io/docs/concepts/cluster-administration/system-metrics/) for Kubernetes system. If the universal forces of good allow you to discover these [Cloud Monitoring dashboard templates](https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/how-to/logging-and-monitoring#dashboards) meant for Anthos Cluster on VMware then you are in luck. 

![Example of Pod Status Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/06audhpjxave8plzycgs.png)

You can easily edit them to meet your required metric type. This process can easily discourage your adoption for Anthos and you might opt to use one Grafana Dashboard to monitor multiple K8s clusters easily by adding other Prometheus datasources.

![Example of Grafana Dashboard with K8s metrics](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1cuk8v6rdagapvgn9od8.png)

You might be optimistic and say, "Well, at least they have Fleets (formerly known as environs)."
It is an amazing feature especially applying consistent policies across application environments inclusive. Another feature is Anthos Config Management that evaluates changes in policies and rolls them out to all Kubernetes clusters so that your desired state is always reflected.

###Anthos Components & Features For Attached Cluster

There are features on Anthos supported for Attached Clusters however there are not so amazing for a K8s Admin to take advantage off. As of October 2021 the following features are supported on Attached Clusters (Ref: https://cloud.google.com/anthos/docs/concepts/overview)

![Core Anthos components](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/769lphp9x2s1p7s3y83k.jpg)

###My Recommendation

* Deploy Anthos Cluster on premise on VMware and if VMware licenses are too expensive for some organisation or individuals then run it on bare metal on top of either CentOS or Red Hat Enterprise Linux (RHEL) or Ubuntu as recommended in this [link](https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/os-reqs)

* Take advantage of most features on Anthos especially those listed [here.](https://cloud.google.com/anthos/deployment-options) 

_Please note **Anthos Cluster on VMware has ALL Anthos features**._

![Anthos Deployment option details](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/phiycfyz88xcaqx3af9i.png)