【.com速译】你想用Kubernetes编排容器化应用,这对你有好处。借助Kubernetes,可以轻松实现企业级部署。但在实际安装Kubernetes之前,您需要考虑的一件事是Kubernetes发行版。在大多数情况下,您不会从源代码安装Kubernetes,而是使用众多软件公司和云提供商提供的各种Kubernetes发行版之一。什么是Kubernetes?在说Kubernetes发行版之前,我们先简单介绍一下Kubernetes。Kubernetes是一个用于容器编排的开源平台。Kubernetes自动执行使用容器部署应用程序所需的许多任务,包括启动和停止每个容器以及确定集群中的哪些服务器应该托管哪些容器。Kubernetes只是市场上几种容器编排工具之一,其他流行的选择包括DockerSwarm和MesosMarathon。但在容器编排方面,Kubernetes受到了大多数人的追捧,可能占据了最多的市场份额。什么是Kubernetes发行版?作为一个开源项目,Kubernetes在GitHub上免费提供源代码。任何人都可以使用源代码、下载和编译Kubernetes,并将其安装在他们选择的基础设施上。但大多数想安装Kubernetes的人永远不会下载并编译源码,原因如下:费时费力:Kubernetes源码量大,从头开始构建需要大量时间和努力。此外,每当您想更新已安装的系统时,您都必须重建所有内容。多组件:Kubernetes不是一个单一的应用程序,而是一套不同的应用程序和工具。如果从源代码安装,则必须在用于构建Kubernetes集群的所有服务器上单独安装这些组件中的每一个。配置复杂:由于Kubernetes没有安装向导和自动配置脚本,需要手动配置Kubernetes的各个组件。大多数人转向Kubernetes发行版来满足他们的容器编排需求。Kubernetes发行版是一个提供预构建版本的Kubernetes的包。大多数Kubernetes发行版还提供安装程序来简化安装过程。有些还集成了额外的软件来帮助完成监控和安全等任务。从这个意义上说,Kubernetes发行版就像Linux发行版。当大多数人想要在PC或服务器上安装Linux时,他们使用的发行版提供了与各种其他软件包集成的预构建Linux内核。几乎没有人从头开始下载Linux源代码。什么是主要的Kubernetes发行版?从技术上讲,任何包含预构建版本的Kubernetes的软件包或平台都算作Kubernetes发行版。就像任何人都可以构建自己的Linux发行版一样,任何人都可以创建Kubernetes发行版。但是,如果您想将Kubernetes发行版用于严肃的工作,有几个主要的发行版可用:OpenShift:OpenShift是一个容器化平台,其中包括Kubernetes以及运行、部署和管理容器所需的各种其他工具。这是一个相对不灵活的Kubernetes发行版,因为它在构建完整容器化堆栈的工具和平台方面没有给你太多选择。另一方面,OpenShift本身几乎具备您需要的一切。这相当于开箱即用地提供Kubernetes。OpenShift由RedHat开发,可以在本地和云端运行。CanonicalKubernetes:开发UbuntuLinux的公司Canonical提供了一个功能强大且得到良好支持的Kubernetes发行版。除了要求你使用Ubuntu之外,Canonical的Kubernetes发行版相对“纯粹”,因为你可以选择将它与任何你想要的其他组件集成(只要你自己安装)。它可以在本地或云端运行。谷歌Kubernetes引擎:谷歌云在其他云提供商专注于自己的编排工具之前很久就押注于Kubernetes(这并不奇怪,因为谷歌从一开始就是Kubernetes项目的主要支持者)。如今,GoogleKubernetesEngine是一个灵活而简单的Kubernetes发行版。由于它在GoogleCloud上运行,因此您不必担心安装它。AzureKubernetesService:Azure曾经押宝DockerSwarm,但AzureKubernetesService(AKS)现在是Azure云中的主要编排解决方案。这是一个仅限云的Kubernetes发行版。AWSElasticKubernetesService:虽然AWS云上的原始容器服务ElasticContainerService(ECS)有自己的编排器,但AWS还提供ElasticKubernetesServices(EKS),这是一种围绕Kubernetes构建的替代方案。与AKS一样,EKS仅在云端运行。Rancher:Rancher的容器平台现在基于Kubernetes。Rancher的Kubernetes发行版特别专注于多集群Kubernetes部署,如果您想跨多个云部署Kubernetes或出于某些其他原因不想使用命名空间(Kubernetes的一项功能,可让您将单个集群划分为服务器到虚拟区域)以隔离您的Kubernetes工作负载。Rancher可以在本地、云端甚至跨基础设施工作,包括两者。Rancher类似于OpenShift,因为它将Kubernetes与各种其他工具集成在一起,尽管它更灵活,因为它提供了一些选项来确定要使用的组件。结论说Kubernetes是一个复杂的野兽是轻描淡写的说法。幸运的是,Kubernetes发行版可以轻松利用Kubernetes,而无需从头开始设置。对于大多数用例,上述Kubernetes发行版之一是启动和运行Kubernetes的实用方法。原标题:如何选择合适的Kubernetes发行版,作者:ChristopherTozzi
