Kubernetes Q&A - 1

Kubernetes is a portable, extensible, open source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.  Using Kubernetes, you can cluster together groups of hosts running these containers, spanning on-premise, public, private, or hybrid clouds. 

Image: Red Hat

1. Who maintains Kubernetes? 

The Cloud Native Computing Foundation (CNCF) now maintains the project. Google worked with the Linux Foundation to form the Cloud Native Computing Foundation (CNCF) in 2015 and offered Kubernetes as a seed technology. CNCF technologies enable cloud portability without vendor lock-in. 

2. How often is Kubernetes updated? 

Kubernetes releases currently happen approximately three times per year. Kubernetes 1.23 was the last release of 2021.

3. What is the need to upgrade to a new Kubernetes version? 

Kubernetes 1.19 and newer receive approximately 1 year of patch support. You need to upgrade to the latest available minor or patch release to receive the security and bug fixes. Minor version releases include new features and improvements. Patch releases are more frequent (sometimes weekly) and are intended for critical bug fixes within a minor version. Patch releases include fixes for security vulnerabilities or major bugs. Kubernetes versions are expressed as x.y.z, where x is the major version, y is the minor version, and z is the patch version. Major versions change when incompatible API updates or backwards compatibility may be broken. Minor versions change when functionality updates are made that are backwards compatible to the other minor releases. Patch versions change when backwards-compatible bug fixes are made.

4. What container runtimes does Kubernetes support?

Kubernetes supports container runtimes such as containerd, CRI-O, and any other implementation of the Kubernetes CRI (Container Runtime Interface). Docker was the first container runtime used by Kubernetes. Docker’s container image format was adopted as the basis for the Open Container Initiative’s (OCI) runtime definition.

5. When to use Windows Containers

Windows Containers are suitable when you want to containerize existing .NET Framework applications and you can't or don't want to invest in a migration to .NET Core or later ("If it works properly, don't migrate it"). Windows containers are available in production-ready releases. Not just in Kubernetes itself, but on many managed cloud providers including Amazon EKS (Oct 2019), Azure AKS (May 2020), and Google GKE (May 2020).

6. What is Upstream Kubernetes? 

Upstream Kubernetes is an open-source version of Kubernetes managed and maintained by the Cloud Native Computing Foundation. It is sometimes referred to as plain vanilla Kubernetes. 

7. What is a Kubernetes distribution, hosted platform, and an installer?

  • A distribution is software based on Kubernetes that can be installed by an end user on to a public cloud or bare metal and includes patches to the upstream codebase.
  • A hosted platform is a Kubernetes service provided and managed by a vendor.
  • An installer downloads and then installs vanilla upstream Kubernetes.

This Google Spreadsheet has a list of all Kubernetes offerings and their CNCF certification status. Kubernetes Distributions & Installers Matrix Table provides another perspective.

At the heart of all Kubernetes distributions is the same upstream, open source, free-of-cost version of Kubernetes. They may have different release cycles to incorporate the latest release of Kubernetes.

8. Among the Enterprise Kubernetes Solutions, which is better - VMware Tanzu or Red Hat OpenShift?

VMware CEO Raghu Raghuram lists three ways in which VMware Tanzu is better than OpenShift:

  1. The Tanzu portfolio is more comprehensive and not just about the Kubernetes layer. It’s about management of applications and operations of applications. And it’s about building applications using the Tanzu application platform. 
  2. Tanzu has a more modular portfolio than Red Hat OpenShift. You don’t have to buy all or nothing.
  3. The vast majority of Red Hat OpenShift runs on top of vSphere. As Tanzu is in-house at VMware, it is able to do deeper integrations that are not possible with a third party. Like deeper core level integration.

Just as Tanzu might be the best option for those organizations that make extensive use of VMware products, Red Hat OpenShift is likely the preferred option for organizations using Red Hat or the IBM Cloud -- although Red Hat also supports a variety of other clouds.

9. For what use cases is Kubernetes unsuitable? 

 10. What are some Kubernetes alternatives?

  • Container as a Service (CaaS) services like AWS Fargate, Google Cloud Run and Azure Container Instances, which allow you to manage containers at scale without the complex orchestration capabilities provided by Kubernetes.
  • Managed Kubernetes services—including Google Kubernetes Engine (GKE) and Amazon Elastic Kubernetes Service (EKS), which let you run managed, hosted Kubernetes clusters. These services remove much of the complexity of deploying, upgrading and maintaining Kubernetes, but still require expertise to manage.
  • Container orchestrators— Docker Swarm and HashiCorp's Nomad are two examples of capable, mature orchestrators, which are much less complex to use and maintain than Kubernetes. On the strictly proprietary side, there also are options like Amazon Elastic Container Service and Microsoft Azure Service Fabric, both of which, of course, are limited to running on their respective cloud platforms.
  • PaaS using Kubernetes—several providers, such as OpenShift Container Platform and Rancher, offer complete cloud computing platforms, which have Kubernetes at their core, but offer simpler operation and built-in capabilities like security and networking. Heroku, Cloud Foundry, Google App Engine, etc. are other PaaS examples to run containers without Kubernetes.
  • FaaS (Serverless) — Lambda, Google Functions, OpenFaaS, etc.
  • IaaS (VMs) — EC2, GCE, vSphere, etc.
  • Bare Metal — Metal-as-a-Service (MaaS), Packet, DIY, etc.
Info in the article is dynamic and may change as K8s evolves. A majority of the links in the article for further reading are from the last 2-3 years.

Related -
CIOs Guide to Kubernetes [PDF]

Comments