[Repost] 6 excellent Kubernetes distributions, which one is best for you?

6 excellent Kubernetes distributions, which one is best for you?

About the author 

http://dockone.io/article/9947
Christopher Tozzi, has reported on Linux, virtualization, containers, data storage and related topics as a freelancer since 2008.
This article comes from Rancher Labs.

Today, orchestrating containerized applications through Kubernetes has become the first choice for most people. Kubernetes can help users easily achieve enterprise-level deployment. However, before installing Kubernetes, you need to know one more thing: the Kubernetes distribution. In the vast majority of cases, users will not install Kubernetes directly from the source code, but choose among the many Kubernetes distributions provided by software companies and cloud vendors.

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

What is Kubernetes?

Before discussing the Kubernetes distribution, let's review what Kubernetes is.

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

Never worry about learning K8S again! 17 K8S beginners must master the basics of

zero point basics│Take you to understand Kubernetes

Kubernetes is one of the container orchestration platforms in the container ecosystem, and the other two container orchestration tools are Docker Swarm and Mesos Marathon, in this article we do not Will elaborate. When we mention the container orchestration platform, the first thing we think of is Kubernetes—because Kubernetes enjoys the highest market attention and perhaps the largest market share.

What is a Kubernetes distribution?

As an open source project, users can get the source code of Kubernetes for free on GitHub. Anyone can use this source code to download, orchestrate, and install Kubernetes on the infrastructure of their choice. However, most people who want to install Kubernetes will not choose to download and arrange the source code, mainly for the following three reasons:
  • Time-consuming and laborious: The number of Kubernetes source codes is very large, and it takes a lot of time and effort to build them from scratch. In addition, whenever you want to update the installation, you must rebuild everything.
  • Multiple components: Kubernetes is not a single application, but a set of different applications and tools. If you install it from source code, then you must install these components separately on all servers that build the Kubernetes cluster.
  • Complex configuration: Since Kubernetes does not have an installation wizard or automatic configuration script, you must also manually configure all components of Kubernetes.

Most people choose a 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 other software that can handle tasks such as cluster monitoring and security.

In this sense, you can think of the Kubernetes distribution as a kind of 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 is integrated with various other software packages. Almost no one will choose to download Linux source code from scratch.

What are the main Kubernetes distributions?

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



However, if you want to use the Kubernetes distribution to accomplish important work, you can choose among the following major distributions:
  • Rancher: The Rancher container management platform is built on Kubernetes, and multi-cluster Kubernetes deployment is the focus of Rancher's Kubernetes distribution. If you want to deploy Kubernetes across multiple clouds, or do not want to use namespaces to isolate Kubernetes workloads for some reason, Rancher will be your first choice. Rancher can be deployed in local data centers and clouds, and can even work on cross-infrastructure architectures that include both. The similarity between Rancher and OpenShift is that it integrates a variety of tools on Kubernetes, but Rancher is more flexible, and you can choose components freely based on Rancher.
  • OpenShift: OpenShift is a containerized platform that includes Kubernetes and various other tools needed to run, deploy, and manage containers. This is a relatively inflexible Kubernetes distribution. When you are using tools and platforms to build a complete containerized stack, it will not give you too many choices. On the other hand, OpenShift provides almost all the tools you may need out of the box, you will get as close to complete Kubernetes as possible. OpenShift was developed by Red Hat and can run in both the local data center and the cloud.
  • Canonical Kubernetes: Canonical, which developed Ubuntu Linux, provides a powerful and well-supported Kubernetes distribution. In addition to requiring you to use Ubuntu, Canonical's Kubernetes distribution is relatively "pure". If you want to install components, you can integrate it with any components you need. It can run in a local data center or in the cloud.
  • Google Kubernetes Engine: When other cloud vendors focus on their orchestration tools, Google Cloud is already betting on Kubernetes. This is not uncommon. From the beginning of the Kubernetes project, Google has been the main supporter of Kubernetes. Today, Google Kubernetes Engine is a flexible and simple Kubernetes distribution. Since it runs in Google Cloud, you do n’t need to worry about installation issues.
  • Azure Kubernetes Service: Azure used to bet on Docker Swarm, but Azure Kubernetes Service (AKS) is now the main orchestration solution for Azure Cloud. This is a Kubernetes distribution that only runs on the cloud.
  • AWS Elastic Kubernetes Service: Although Elastic Container Service (ECS) on the AWS cloud has its own orchestrator, AWS also provides Elastic Kubernetes Service (EKS), which is an alternative built around Kubernetes. Like AKS, EKS only runs on the cloud.

Conclusion

Kubernetes is a complex container orchestration platform, not everyone can digest it. Fortunately, the Kubernetes distribution can easily realize the advantages 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.

Guess you like

Origin www.cnblogs.com/jinanxiaolaohu/p/12606332.html