Hugo Huang
on 5 December 2023
How to use Ubuntu in GKE on nodes and in containers
Google Kubernetes Engine (GKE) traces its roots back to Google’s development of Borg in 2004, a Google internal system managing clusters and applications. In 2014, Google introduced Kubernetes, an open-source platform based on Borg’s principles, gaining rapid popularity for automating containerized application deployment. In 2015, Google launched GKE, a managed Kubernetes service on Google Cloud Platform (GCP), streamlining infrastructure management for users. Over the years, GKE saw substantial growth, introducing Autopilot mode in 2017 and surpassing 2 million managed clusters by 2019. Throughout 2020 and 2021, GKE continued evolving with features like Workload Identity and Anthos Config Management, aiding in access management and configurations. In 2022, GKE maintained its status as a leading managed Kubernetes platform, introducing innovations like Anthos Service Mesh and Anthos Multi-Cluster Ingress. GKE’s trajectory underscores the significance of containerization and cloud-native tech, poised to further empower the development, deployment, and management of modern applications amidst growing industry adoption.
Ubuntu can be used as the base operating system for GKE nodes, and GKE can be used to deploy and manage containerized applications on Ubuntu nodes.
Here are some of the benefits of using Ubuntu and GKE together:
- Flexibility: Ubuntu can be used with a variety of Kubernetes distributions, so developing teams will have a standardized experience across multiple cloud, such as Azure Kubernetes Service (AKS) and Amazon EKS.
- Secure. Timely updates and patches, building on Ubuntu’s security track record.
- Stable. Long-term support with a consistent, predictable lifecycle and support commitment. Each GKE version has a customized version of Ubuntu that support its latest features.
- Seamless. Developer-friendly, smooth experience from development to production.
- Small. Ultra-small, resource-efficient, yet robust images with chiselled (distroless) Ubuntu.
Let’s go through the steps you need to deploy Ubuntu nodes in GKE.
- In Google Cloud Console, locate Kubernetes Engine:
- In “Clusters”, click CREATE:
- Choose “Standard: You manage your cluster” in the pop-up window:
- In the left of the console, click “default-pool”:
- Click “Nodes”:
- Find “Ubuntu with containerd (ubuntu_containerd)” in “Image type” drop-down menu:
- Choose “Ubuntu with containerd (ubuntu_containerd)” and Click “CREATE” at the bottom:
- Once the cluster is running, you can check “OS image” in the “Node details”: