How To Setup and Configure Kubernetes Cluster On Google Cloud (GCE)

Setup Kubernetes Cluster On Google Cloud

Google cloud offers its own managed Kubernetes cluster setup using google container engine aka GKE. If you use GKE you can avoid the Kubernetes administrative overhead as it is taken care by Google cloud. You just need to focus on deploying applications on Kubernetes.

Prerequisites: To follow this tutorial, you should have a Google Cloud account and google cloud SDK installed on your system. If you don’t have google cloud SDK installed, you can follow this tutorial for the setup –> Google cloud SDK setup

Setting Up Kubernetes Cluster On Google Cloud

In this tutorial, we will guide you through the steps for setting up a highly available multi zone kubernetes cluster. Follow the steps given below for the setup.

Step 1: We will launch a multi-zone cluster using the gcloud CLI. The syntax for launching a kubernetes cluster is given below.

gcloud container clusters create [cluster-name] \
      --zone [primary-zone] \
      --additional-zones [secondary-zones] \
      --num-nodes [number of nodes per zone] \
      --machine-type [machine size]

In this example, I am spinning up the cluster in asia-east1 region with one instance per zone (total three zones) using g1-small(1.7GB) machine type. The actual command would look like the following.

gcloud container clusters create devopscube-demo-cluster \
      --zone asia-east1-a \
      --additional-zones asia-east1-b,asia-east1-c \
      --num-nodes 1 \
      --machine-type g1-small

Now, if you check the google compute engine dashboard, you can see three instances launch in three different zones as shown below.

google container engine instances

Step 2: You can get all the information about the  GKE cluster using the following command.


gcloud container clusters describe [cluster-name] --zone [zone id]

Example Command:

gcloud container clusters describe devopscube-demo-cluster --zone asia-east1-a

Kubectl Utility

Kubectl is a command line utility for interacting with the kubernetes cluster. You can get more information about kubectl from here 

To install kubectl component, execute the following gcloud command.

gcloud components install kubectl

Now, you can get your cluster info using kubectl command using the following command.

kubectl cluster-info

Accessing Kubernetes Dashboard

Kubernetes has a web UI where you can monitor and manage your deployed application. The web UI is a part of Kubernetes so you cannot access it from google cloud dashboard. You can read more about the web dashboard from here. Follow the steps given below to access the web UI.

1. Head over to google cloud dashboard –> Container Engine –> Container Clusters. There you will find a connect option as shown below. Once you click the connect button, you will see a pop up with two commands.

kubernetes dashboard

Popup will look like the following.

connecting kubernetes dashboard

2. Execute the commands as shown in the pop-up. An example is shown below.

The following command will set the credentials on your local machine to authenticate to kubernetes cluster.

gcloud container clusters get-credentials devopscube-demo-cluster --zone asia-east1-a --project devopscube

Then, you need to start the proxy using the following command.

kubectl proxy

BY default, you will be able to access kubernetes on http://localhost:8001/ui. You can also run the proxy in different port using the –port flag as shown below.

kubectl proxy --port=8080

You can run the proxy in the background by adding a & at the end of the command as shown below.

kubectl proxy --port=8080 &

If you access the web UI, by default you will be able to view only the cluster node information as shown below. Once you start deploying applications, you can monitor and manage it from the UI.

kubernetes dashboard

Launching a kubernetes cluster on google cloud is very simple as compared to AWS or on-prem data center setups. In the coming series of articles, we will cover more articles on how to deploy and manage applications on a kubernetes cluster.


ONLINE COURSE: The Complete Kubernetes Course

Learn how you can run, deploy, manage and maintain containerized Docker applications on Kubernetes

  • Learn to launch kubernetes cluster
  • Get started with Containerization of apps
  • Deploy applications on kubernetes cluster
  • Run stateful and stateless applications on containers


Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like