The question of cost often crops up around open source software -- especially when that software has been widely...
adopted and integrated into other tools, services and platforms.
Kubernetes is an open source container orchestration and management tool managed by the vendor-neutral Cloud Native Computing Foundation. While tools such as Docker provide the engine to build and drive containers, tools like Kubernetes automate the deployment, scaling and management thereof.
So, is Kubernetes free?
Yes, but also no.
Pure open source Kubernetes is free and can be downloaded from its repository on GitHub. Administrators must build and deploy the Kubernetes release to a local system or cluster -- or to a system or cluster in a public cloud, such as AWS, Google Cloud or Microsoft Azure.
The latest version of Kubernetes -- version 1.23.4 from February 2022 at time of writing -- can be downloaded for free. These downloads provide binaries for major architectures or platforms, such as amd64, arm, ppc64le and s390x. These architectures cover OSes like Darwin, Linux and Windows.
In addition, Kubernetes admins can acquire the free command-line tool, kubectl, which runs commands against Kubernetes clusters. The kubectl tool deploys applications, manages clusters and accesses logs. Users can download and install kubectl for Linux, Windows or macOS through the Kubernetes download webpage.
While the "pure" Kubernetes distribution is free to download, there are always costs involved with open source software. Without professional support, Kubernetes adopters must pay in-house staff for help or contract someone knowledgeable. The Kubernetes admin needs a detailed working knowledge of Kubernetes software build creation, along with a keen sense of software development and deployment pipelines within a Linux environment.
When isn't Kubernetes free?
The complexity of application container orchestration and automation often exceeds the knowledge or experience base of an organization's IT staff. Businesses can turn to paid versions of Kubernetes offered through third-party consultants or incorporate the service into other pay-to-play platforms to compensate for that gap.
Rather than a business deploying Kubernetes in a cloud computing instance, the cloud provider deploys and manages Kubernetes and offers it as a cloud service. Users pay for the compute instances and other cloud resources to deploy and support their access to Kubernetes. For example, Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE) and Amazon Elastic Kubernetes Service (EKS) all provide managed Kubernetes container orchestration services.
As of March 2022, Amazon EKS charges $0.10 per hour for each cluster a user creates through Amazon Elastic Compute Cloud (EC2), AWS Fargate and AWS Outposts -- the lattermost of which is an on-premises option. A single EKS cluster can run multiple applications. In addition, EC2 users pay for resources, such as the necessary compute instances and storage instances to create and run Kubernetes worker nodes. Kubernetes, as a software, is still free, but the cloud resources are not.
Similarly, GKE charges $0.10 per hour for cluster management, along with per-second charges for associated CPU cores, memory and ephemeral storage. By comparison, AKS is free, and Azure users pay only for the costs of compute, storage and monitoring services used to architect the cloud application deployment.
EKS and GKE cluster management fees might be low, but the compute and storage costs associated with running Kubernetes clusters can add up quickly. Cloud users should assess Kubernetes-related service costs and evaluate the value of those costs for container support.
Other paid versions of Kubernetes abound. For example, Kubernetes is integrated into Red Hat OpenShift, a container application platform built with an array of cluster management, cluster security and global registry capabilities. OpenShift Kubernetes cluster services include installation, updates, networking, data migration, storage, monitoring and support for VMs. Further, OpenShift is available through a variety of platforms and can be adopted internally using self-managed versions, such as the following:
- Red Hat OpenShift Platform Plus
- Red Hat OpenShift Container Platform
- Red Hat OpenShift Kubernetes Engine
Users can also opt for various managed cloud deployments, including the following:
- Microsoft Azure Red Hat OpenShift
- Red Hat OpenShift Dedicated
- Red Hat OpenShift on IBM Cloud
- Red Hat OpenShift Service on AWS
OpenShift prices vary by deployment and commitment. OpenShift Dedicated promotes hourly pricing up to $263 per year for the control plane and up to $1,500 per year for worker nodes based on four virtual CPUs. These prices are lower with one-year and three-year commitments, and vary further with different compute resources for worker nodes.
By comparison, on-demand pricing for Red Hat OpenShift Service on AWS includes an hourly cluster fee of $0.03 per hour and a worker node price of $0.171 per hour, again based on four virtual CPUs. These prices do not include AWS EC2 and storage costs. However, costs can lower with one-year and three-year Reserved Instances.
VMware Tanzu, formerly VMware Pivotal Container Service, supports Kubernetes alongside its other container provisioning and management features. Platform9 delivers managed Kubernetes as a service and supports hybrid clouds across public clouds, edge locations and local, on-premises server infrastructure. IBM Cloud Kubernetes Service brings cluster management, container security and isolation capabilities to container environments deployed with other IBM services, such as Watson, IoT and big data projects. The exact pricing for these services requires a quote directly from the Kubernetes vendor.
Ultimately, Kubernetes software is free, but costs money to deploy and manage regardless of whether it's in house, cloud based, or an optimized or extended third-party vendor version. Enterprise leaders must investigate pricing and features, and engage vendors in a detailed pricing discussion before using any paid platform version. Then, they should review the monthly bill carefully to ensure that costs remain in line with expectations.
Editor's note: This article, originally published in 2018, has been updated to reflect changes in the Kubernetes ecosystem, including vendor and pricing details.