Author’s brief introduction

Christopher Tozzi has reported on Linux, virtualization, containers, data storage, and related topics as a freelancer since 2008.

This article is from Rancher Labs

Today, orchestrating containerized applications through Kubernetes has become the first choice for most people. Kubernetes helps users easily deploy enterprise-wide applications. However, before you install Kubernetes, you need to know one more thing: the Kubernetes distribution. In the vast majority of cases, users do not install Kubernetes directly from source code, but choose from among the many distributions of Kubernetes available from software companies and cloud vendors.

So, what is a Kubernetes distribution? What are the outstanding Kubernetes distributions right now?

What are Kubernetes?

Before we discuss the Kubernetes distribution, let’s review what Kubernetes is.

Kubernetes is an open source platform for container orchestration that automates many of the tasks required for containers to deploy applications, including starting and stopping individual containers and determining which servers in a cluster should host which containers. If you want to learn more about the basics of Kubernetes, please check out the following article:

No more worry about learning K8S! 17 knowledge points that K8S beginners must master

Zero Basics Introduction to Kubernetes

Kubernetes is one of the container choreography platforms in the container ecosystem. The other two container choreography tools are Docker Swarm and Mesos Marathon, which we won’t go into detail in this article. When we think of a container choreography platform, we first think of Kubernetes — because Kubernetes has the highest market attention and probably the largest market share.

What is a Kubernetes distribution?

As an open source project, the source code for Kubernetes is freely available on GitHub. Anyone can use this source code to download, orchestrate, and install Kubernetes on an infrastructure of their choice. However, most people who want to install Kubernetes will not choose to download and orchestrate the source code for three reasons:

  • Time consuming: The amount of source code in Kubernetes is huge, and building it from scratch takes a lot of time and effort. Also, whenever you want to update the installation, you have to rebuild everything.
  • Multi-component: Kubernetes is not a single application, but rather a set of different applications and tools. If you install it from source code, then you must install these components separately on all the servers on which the Kubernetes cluster is built.
  • Configuration complex: Since there is no installation wizard or automatic configuration script for Kubernetes, you must also manually configure all the components of Kubernetes.

Most people choose the Kubernetes distribution to meet their container orchestration needs. The Kubernetes distribution is a software package that provides a pre-built version of Kubernetes. Most Kubernetes distributions also provide installation tools to make the installation process easier. Some Kubernetes distributions also integrate additional software to handle tasks such as cluster monitoring and security.

In this sense, you can think of the Kubernetes distribution as akin to a Linux distribution. When most people want to install Linux on a PC or server, the distribution they use is a pre-built Linux kernel that integrates with various other packages. Few people choose to download the Linux source code from scratch.

What are the major Kubernetes distributions?

Technically, any software package or platform that contains a pre-built version of Kubernetes counts as a Kubernetes distribution. Just as anyone can build their own Linux distribution, anyone can build a Kubernetes distribution.

However, if you want to use the Kubernetes distribution to get important work done, you can choose from the following major distributions:

  • Rancher: The Rancher Container Management Platform is built on the basis of Kubernetes, and multi-cluster Kubernetes deployments are a major focus of Rancher’s Kubernetes release. If you want to deploy Kubernetes across multiple clouds, or for some reason don’t want to use namespaces to isolate the Kubernetes workload, then Rancher will be your first choice. Rancher can be deployed on both the local data center and the cloud, and can even work on a cross-infrastructure architecture that includes both. Rancher is similar to OpenShift in that it is a collection of tools on Kubernetes, but Rancher is more flexible and allows you to choose your own components.
  • OpenShift: OpenShift is a containerized platform that includes Kubernetes and a variety of other tools needed to run, deploy, and manage containers. This is a relatively inflexible distribution of Kubernetes, which doesn’t give you much choice when it comes to using tools and platforms to build a full containerized stack. OpenShift, on the other hand, provides almost everything you might need out of the box, and you’ll get as close to complete Kubernetes as possible. Developed by Red Hat, OpenShift can run in both a local data center and in the cloud.
  • Canonical Kubernetes: The company behind Ubuntu Linux, Canonical, offers a powerful and well-supported distribution of Kubernetes. Apart from requiring you to use Ubuntu, Canonical’s Kubernetes distribution is relatively “pure,” and if you want to install components, you can integrate it with whatever you need. It can run in a local data center or in the cloud.
  • Google Kubernetes Engine: While other cloud vendors are focusing on their own orchestration tools, it’s not surprising that Google Cloud is betting on Kubernetes. Google was a major supporter of Kubernetes from the beginning of the project. Today, Google Kubernetes Engine is a flexible and simple distribution of Kubernetes. Since it runs in a Google cloud, you don’t have to worry about installation.
  • Azure Kubernetes Service: Azure once bet on Docker Swarm, but Azure Kubernetes Service (AKS) is now the primary choreography solution for the Azure cloud. This is a distribution of Kubernetes that runs only in the cloud.
  • AWS Elastic Kubernetes Service: While Elastic Container Service (ECS), a Container Service on the AWS cloud, has its own choreographer, AWS also offers Elastic Kubernetes Service (EKS), an alternative solution built around Kubernetes. Like AKS, Eks operates only in the cloud.

“Language

Kubernetes is a complex container choreography platform that not everyone can digest. But luckily, the Kubernetes distribution makes it easy to take advantage of Kubernetes without having to build Kubernetes from scratch. For most use cases, the Kubernetes distribution mentioned above is the most practical solution for installing and running Kubernetes.

How to Choose the Right Kubernetes Distribution

Link: https://www.itprotoday.com/hy…