Fortunately, complex vanilla Kubernetes installs aren’t the only option. Multiple vendors have created distributions of their own that streamline and optimize Kubernetes deployments.
In addition to setting up and configuring the cluster, there are other features available related to security, observability or DevOps that developers or operations teams can leverage. Kubernetes with tools that make the installation easier and come with other add-ons are known as a Kubernetes distribution.
The different Kubernetes distributions can be grouped into four key categories:
Opinionated distributions build the vendor’s opinions and best practices related to installation, configuration, and operation into the distribution.
Upstream and open-source distributions are simpler open-source Kubernetes distributions that make installation easier without add-ons. Some of these distributions use upstream Kubernetes and others do not.
Cloud-managed distributions are offered by cloud platforms like AWS, GCP, and Azure. With these distributions, the provider manages the control plane and users focus on development and productivity.
Single-node distributions have control plane and worker nodes on the same server. These Kubernetes distributions are often used as learning environments and can be beneficial for use cases like running an application in Raspberry Pi, edge, and IoT devices.
The following table summarizes the different Kubernetes distributions.
|Upstream / Open source
||Canonical, Rancher, OKD
- Free to use
- Need-based customization
- Optional enterprise support
- Flexibility to setup in any infrastructure
- Typically for enterprises
- Tools and processes for production-grade clusters
- Supports developers and operations teams
||AKS, EKS, GKE
- Rapid setup process
- Built-in high availability for the control plane
- Automatic updates
- Integrates with other cloud services for DevOps, monitoring, security etc
- Hosting single or small applications
- Edge and IoT devices
Tanzu is a portfolio of products by VMware that allows administrators and developers familiar with the VMware architecture to quickly provision, manage and run Kubernetes clusters. Tanzu Kubernetes Grid is an upstream Kubernetes-compatible distribution that integrates with the VMware ecosystem with 24x7 support from the VMware Global support services.
Here are four key Tanzu offerings from VMware:
- Tanzu Kubernetes Grid (TKG): TKG is a multi-cloud Kubernetes service by VMware to run on VSphere or public cloud virtual machines.
- Tanzu Kubernetes Grid Integrated (TKGi): TKGi is a production-grade solution based on Pivotal Kubernetes Service (PKS), and it integrates BOSH and Ops manager. TKGi is helpful if you want to create a multi-tenant Kubernetes Environment.
- Tanzu Mission Control (TMC): TMC is a service related to VMware Cloud that lets you attach clusters from multi-cloud and allows you to monitor and manage them from a single console.
- Tanzu Kubernetes Grid Service (TKGS): TKGS is Kubernetes with vSphere integration which means that administrators can provision Kubernetes clusters using the vSphere platform and the associated vSphere services.
Red Hat OpenShift
RedHat has two distributions of Kubernetes, one of them being OpenShift, an enterprise-ready distribution with a robust SLA and paid professional support. While OpenShift gets new Kubernetes features later than upstream Kubernetes, there is a strong focus on stability, security, and integration with other Red Hat technologies that help the developer community to be more productive.
Redhat Enterprise Linux is the base operating system, and CRI-O is the container runtime environment. OpenShift has a multi-cloud architecture and works well with AWS (Red Hat OpenShift Service on AWS) and Microsoft Azure (Azure Red Hat OpenShift). `oc` is the administrative tool for Openshift similar to `kubectl` that Kubernetes uses.
OpenShift features a simple and flexible installer that deploys the cluster on any infrastructure and comes with an update service.
The free community distribution of OpenShift is OKD or Origin. OKD uses Fedora as the underlying operating system. It is an excellent option if you want to try or have a local cluster on your machine using the same APIs as OpenShift.
Charmed Kubernetes is an enterprise-grade, upstream Kubernetes by Canonical which offers cluster lifecycle management and is capable of multi-cloud deployment. Canonical offers managed Kubernetes, where Canonical engineers will build and operate the cluster 24/7 on bare metal, OpenStack, or any public clouds. Canonical is the publisher of Ubuntu, a popular Linux distribution. In addition to the distribution, Canonical also offers Enterprise support for a cost. Regarding the container runtime environment, Charmed Kubernetes supports Containerd, Kata containers and CRI-O.
Canonical offers a single-node Kubernetes distribution known as MicroK8. It is a lightweight Kubernetes distribution that can run on your laptop or any edge of IoT devices. Installation of MicroK8s is straightforward, with a single command to install followed by three commands to add your user to the microk8s group, as shown below.
sudo snap install microk8s --classic --channel=1.25
sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube
Rancher is a multi-cloud Kubernetes management platform that allows you to deploy clusters on private cloud, public cloud or vSphere and provides centralized authentication and observability. For IT operators, this means that they can use Rancher as a single pane of glass to manage on-premises clusters as well as those hosted on clouds like Azure Kubernetes Service (AKS), Elastic Kubernetes Service (EKS) and Google Kubernetes Engine (GKE).
Rancher also provides enterprises with a hosted Kubernetes service, a premium service where Rancher takes care of the installation, upgrades, and operations of the control plane with an SLA of 99.9%. Customers can add support for tools like Grafana, Prometheus, Istio, and Fluentd by paying additional subscription costs.
Additionally, Rancher has a product called Rancher Kubernetes Engine (RKE). This CNCF-certified Kubernetes distribution runs within Docker containers and K3s, a lightweight Kubernetes distribution with very low resource requirements.
Kubernetes has become so popular in the last few years, major cloud providers have come up with their own cloud-managed Kubernetes distributions. The three most popular options are:
- AWS Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- CGP Google Kubernetes Engine (GKE)
These managed Kubernetes services integrate with the cloud provider's services and technologies. Cloud providers deploy, run and maintain the control plane and let you shift your focus to the workload.
EKS charges a few cents per hour for the control plane, whereas AKS and GKE offer it for free. While most of these services have similar offerings and technologies built around them, there are minor differences, and the choice of managed Kubernetes distribution depends on which cloud is preferred. They all have solutions for multi-cloud and hybrid-cloud deployments like Anthos from Google, Arc from Azure, and EKS Anywhere from AWS.