What is Google Kubernetes Engine?
Google Kubernetes Engine (GKE) is a managed Kubernetes service for containers and container clusters running on Google Cloud infrastructure. GKE is based on Kubernetes, an open source container management and orchestration platform developed by Google.
What is Google Kubernetes Engine used for?
Organizations use GKE to automate and manage container deployment and orchestration tasks, such as the following:
- create or resize clusters;
- create pods, replication controllers, jobs, services or load balancers;
- resize application controllers; and
- update, upgrade and debug clusters.
Users can interact with GKE using the Google Cloud command-line interface or the Google Cloud Console.
Software developers frequently use GKE to create and test enterprise applications. IT administrators also use GKE to meet the scalability and performance demands of enterprise software and hardware, such as web servers.
How does Google Kubernetes Engine work?
GKE is comprised of a group of Google Compute Engine instances running Kubernetes.
Within a Kubernetes cluster, a control plane manages one or more worker nodes, each running a container runtime and kubelet agent needed to manage containers. The control plane also includes a Kubernetes API server, which interacts with the cluster and performs tasks such as servicing API requests and scheduling containers.
GKE users can organize one or more containers into pods that represent logical groups of related containers. Users create and manage these pods through jobs. Generally, identical containers are not organized into the same pod.
Examples of pod groups include logfile system containers, checkpoint or snapshot system containers, and data compression containers. Similarly, network proxies, bridges and adapters might be organized into the same pod.
If a pod of related containers becomes unavailable, access to those containers might be disrupted. Most containerized applications therefore require redundancy to ensure that pods are always available. GKE includes a replication controller that allows users to run their desired number of pod duplicates at any given time.
Groups of pods can be organized into services, which allow non-container-aware applications to access other containers without additional code. For example, if a business uses three pods to process data from a client system, setting up those pods as a service enables the client system to use any of the pods at any time, regardless of which pod is actually doing the work.
How much does Google Kubernetes Engine cost?
As of the time of publication, Google offers a free tier for GKE ($74.40 in billing account credits per month), then a flat fee of $0.10 per hour per cluster after free credits are used. The fee does not apply to clusters run in Google Cloud Anthos.
Because pricing for cloud services such as GKE changes frequently, however, prospective users should investigate current GKE pricing and discount opportunities before deciding to implement the service.