Google Kubernetes Engine

Getting started with Google Kubernetes Engine

In the last lesson, we looked at the Compute Engine service. It has a lot of operations work to handle. Also, in the instance group, we looked at autoscaling and how to configure it. This lesson is all about Kubernetes and Google Kubernetes Engine.

Google Kubernetes Engine (GKE in short) is one step ahead in terms of minimizing the operations workload for users. As we know, GKE is suitable for containerized workloads. To understand the GKE in detail, let’s learn a little about Kubernetes.

Introduction to Kubernetes

One lesson is not enough to explain the Kubernetes in detail. However, this lesson gives you a little high-level overview of Kubernetes.

Kubernetes is a container orchestration (management) tool. Created by Google, it was used to manage Google’s own infrastructure. Kubernetes is a giant server made up of small servers. Sometimes also called a Kubernetes Cluster.

Terms

Let’s understand the common terms of Kubernetes.

  • Pod: Pod is the smallest unit of deployment on Kubernetes. A pod can have multiple containers running inside it. These containers run and scale together and share Pod IP. Basically, the pod is a copy of our application.

  • Node: A Node is an actual VM instance. Docker and Kubernetes are preinstalled in these machines. Pods are run inside the machine. Depending upon the configuration a node can have multiple or single pod running at a time in it.

  • Services: Services are the endpoint for users. These are interfaces between a pod and the world. As the pod IP can change when a pod is restarted, the Service allows us to map our deployments to a specific endpoint.

  • Deployment: A deployment is a definition of the pod. A pod contains container and container is a code. So code can fail and that leads to the pod failure. So, the deployment has the number replicas of a pod in it and it is the responsibility of deployment to maintain the mentioned number of pods in the cluster up and running.

  • Daemonset: This type of controller is used to run Node level configurations. Daemonset makes sure that a copy of specific software runs on each node. For example, monitoring agents or New relic.

  • Secrets: Secret is the mechanism for storing sensitive data. We can pass on the sensitive data to the container at runtime using an environment variable or by mounting the data in a volume.

  • Configmaps: It is similar to secrets except it is used to store non-sensitive configurations of the code. This can also be accessed at runtime by a container.

Working

High-level working of Kubernetes can be ...