Kubernetes on GKE : Series Intro
In this series of articles, you would learn how to setup and deploy applications to a Google Kubernetes Engine (GKE) cluster using the Google Cloud Marketplace, Kubectl CLI, Helm Charts and Garden.io tool.
Although this article is based on containers, I would not be talking about Containers, feel free to read up Robert John’s article on What Are Docker Containers. This is just meant to enable you get running with GKE as fast as possible. Other articles in the series would guide you into multiple ways of deploying and managing applications to the GKE cluster you will be creating soon.
Kubernetes (commonly know as k8s) is an open-source container-orchestration system for automating application deployment, scaling, and management. It aims to provide a “platform for automating deployment, scaling, and operations of application containers across clusters of hosts”. It works with a range of container tools, including Docker. — Wiki
For an overview of Kubernetes concepts, see the Kubernetes documentation.
Google Kubernetes Engine (GKE) provides a managed environment for deploying, managing, and scaling your containerized applications using Google infrastructure. The Kubernetes Engine environment consists of multiple machines (specifically Google Compute Engine instances) grouped together to form a container cluster.
- Create a Google Cloud Platform (GCP) project, or use an existing one.
- Enable the Kubernetes Engine API.
- Install GCloud SDK
Other Articles in this series
- Deploying Ready Apps to GKE using Cloud Marketplace
- Deploying Container Images to GKE using Kubectl
- Managing Apps on GKE using Helm Charts
Cluster Orchestration with Kubernetes Engine
Kubernetes Engine clusters are powered by the Kubernetes open source cluster management system. Kubernetes provides the mechanisms through which you interact with your container cluster. You use Kubernetes commands and resources to deploy and manage your applications, perform administration tasks and set policies, and monitor the health of your deployed workloads.
When you run a Kubernetes Engine cluster on GKE, you also gain the benefit of advanced cluster management features that Google Cloud Platform provides. These include:
- Load-balancing for Compute Engine instances.
- Node Pools to designate subsets of nodes within a cluster for additional flexibility.
- Automatic scaling of your cluster’s node instance count.
- Automatic upgrades for your cluster’s node software.
- Node auto-repair to maintain node health and availability.
- Logging and Monitoring with Stackdriver for visibility into your cluster.
Creating a Kubernetes Engine cluster
A GKE cluster consists of at least one cluster master machine and multiple worker machines called nodes. Nodes are Compute Engine virtual machine (VM) instances that run the Kubernetes processes necessary to make them part of the cluster.
To setup a GKE cluster, click here OR navigate as follows on the GCP Console: Kubernetes Engine > Clusters > Create Cluster (name: my-cluster, leave other fields as is)
If you are more comfortable using the gcloud tool, the equivalent command for the above is below. Do ensure that you have a default project & zone configured.
gcloud container clusters create my-cluster