Why Kubernetes (k8s) on Google Container Engine (GKE)?
Kubernetes can run on any cloud,baremetal,minikube. But are there any advantages having Kubernetes in GKE vs AWS? I knew some of the reasons, but then decided to reachout in twitter to the experts.I also needed this to move from AWS to GKE for kubernetes. I was looking for something like this and couldn't find anything.
Answer $ gcloud container clusters create mycluster
All of this is applicable to me because my fulltime job isn’t managing kubernetes and I am not a kubernetes expert .
- kubernetes master — Don’t have to worry about Kubernetes master going down. GKE guarantees master node’s uptime.
- etcd — Don’t have to learn etcd. Don’t have to know how many etcd’s should we have to spin 3/5/7 for my cluster? Should my master and etcd be on the same node? we don’t have to answer these questions.GKE guarantees etcd doesn’t go down and it manages etcd.
- Container networking — Should I have to use weave,flannel ? How does it scale and work ? Need not worry about container networking on GKE. It is managed. https://cloud.google.com/compute/docs/networking#routing
- IAM — kubernetes 1.3 has access to RBAC in Alpha. But how do I give access to the other members in my team? Should I share certificate to each Dev? How do I manage authorization/authentication? GKE has builtin authentication and authorization. https://cloud.google.com/container-engine/docs/iam-integration
- Autoscaling — In GKE autoscaling cluster is as simple as gcloud container clusters create NAME — zone ZONE — num-nodes=30 \
— enable-autoscaling — min-nodes=15 — max-nodes=50 https://cloud.google.com/container-engine/docs/clusters/operations#create_a_cluster_with_autoscaling . This will spin up to 50 Google Compute Engine (GCE) instances,if your cluster has to grow based on load. - Upgrading — Kubernetes has a release almost every 3–4 months and you can’t upgrade the master inplace. The only way to upgrade is to spin up a new cluster with the latest release and then move your pods to this new cluster. In GKE the master is upgraded automatically for you and your responsibility is to upgrade the nodes which is again just one command gcloud container clusters upgrade CLUSTER_NAME \
[ — cluster-version=X.Y.Z] - Heapster — Kubernetes heapster has built in support for Google Cloud Monitoring
- Logging — GKE has built in support for cluster level logging to Google Cloud Logging which can be exported to BigQuery.
- And here is the twitter conversation on this topic with the others https://twitter.com/milesward/status/771425568948531200
IMO these are the advantages,I could be incorrect or have missed out few things. Please let me know http://twitter.com/snaveen