引领容器革命的12个Kubernetes发行版本文所涵盖的发行版扮演着排头兵的角色。如果您需要大规模容器编排,Kubernetes已成为您可以依赖的项目。这个来自谷歌的开源容器编排系统备受推崇,得到了很好的支持,并且发展迅速。同时,Kubernetes庞大复杂,设置和配置难度大。不仅如此,很多繁重的工作都留给了最终用户。因此,最好的方法不是尝试单独做,而是找到一个完整的容器解决方案,其中包括Kubernetes作为受支持和维护的组件。我在这里列出了12个最著名的Kubernetes产品,它们实际上是集成了Kubernetes和容器工具的发行版,就像许多开发人员提供Linux内核及其用户空间的许多发行版一样。请注意,本文不涵盖AmazonEKS或GoogleKubernetesEngine等专用云服务,而是重点介绍可在本地运行或作为云托管选项运行的软件分发版。1.CoreOSTectonicCoreOS提供了一个以容器为中心的Linux发行版,兼容Docker,但有自己的镜像格式和运行环境,同时也提供了一个“企业级Kubernetes”发行版。它们共同构成了CoreOSTectonic架构的基础。CoreOS操作系统ContainerLinux的不同之处主要在于它是作为一组容器化组件交付的。这样就可以在不影响应用正常运行的情况下,将操作系统的自动更新推送到生产环境中。CoreOS还吹捧Kubernetes的“一键式”更新。CoreOSTectonic可以在亚马逊网络服务(AWS)、微软Azure和裸机上运行。相关链接:https://coreos.com/tectonic/2.Canonical的Kubernetes发行版UbuntuLinux的开发商Canonical提供了自己的Kubernetes发行版。Canonical的Kubernetes发行版的一大卖点是,位于底部的是备受推崇、广为人知且经常部署的UbuntuLinux发行版。Canonical声称其架构可以在任何云或本地部署环境中运行,并且还支持CPU驱动的工作负载以及GPU驱动的工作负载。付费客户可以让Canonical工程师远程管理Kubernetes集群。Canonical和RancherLabs(见下文)联合开发了一款产品CloudNativePlatform,它结合了Canonical的Kubernetes发行版和Rancher的容器管理平台。思路是用Kubernetes来管理运行在各个集群中的容器,用Rancher来管理多个Kubernetes集群。CloudNativePlatform将与Rancher2.0一起发布,目前处于beta预览阶段。相关链接:https://www.ubuntu.com/kubernetes3.Docker社区版/Docker企业版对于很多人来说,Docker就是容器的意思。Docker自2014年以来就拥有自己的集群和编排系统DockerSwarm,不久前它还是Kubernetes的竞争对手。然后在2017年10月,Docker宣布添加Kubernetes(没有任何变化)作为Docker社区版和Docker企业版的标准插件组件。简而言之,Docker,Inc.已经感觉到容器编排领域的预兆,承认Kubernetes比Swarm更适合管理大型、复杂的容器环境。然而,Docker仍然包含一个“集群模式”,适用于相对通用的集群作业——例如防火墙后面不太可能急剧增长的本地应用程序。相关链接:https://www.docker.com/kubernetes4.HeptioKubernetes订阅Kubernetes的两位开发者CraigMcLuckie和JoeBeda创立了Heptio,提供围绕Kubernetes的服务和产品。他们的第一个主要产品是HeptioKubernetesSubscription(HKS),这是一个Kubernetes发行版,由Heptio提供24/7收费支持。定价从每月2,000美元起。Heptio的主要推销是没有供应商锁定的企业级Kubernetes。该发行版可以在公共云或私有硬件上运行。Heptio提供的用于管理Kubernetes配置的所有工具都是开源的,补丁直接发送到受支持的集群。相关链接:https://heptio.com/products/kubernetes-subscription/5。MesosphereDC/OSMesosphereDC/OS使用ApacheMesos将机器集群转变为可以为多个应用程序动态分区的单一资源。Kubernetes作为众多应用程序包之一在DC/OS上受到支持,允许您跨DC/OS集群安装、运行和更新Kubernetes。DC/OS本身是否是Kubernetes发行版是有争议的,因为Kubernetes不完全是DC/OS的一部分,但可以像任何其他受支持的应用程序一样与DC/OS一起部署——有点像Linux发行版包管理系统提供类似的Linux应用程序。然而,Mesosphere对Kubernetes的处理方式与Kubernetes的工作方式保持一致——例如,它使用Kubernetes的主线社区分布来确保与现有工具集的高度兼容性。相关链接:https://mesosphere.com/solutions/kubernetes/6。Mirantis云平台正如Mirantis所说,Mirantis云平台集成了OpenStack、Kubernetes或两者的结合,作为一个“敏捷基础设施平台”的底层。简而言之,MirantisCloudPlatform是一个用于编排虚拟机、容器和裸机服务器的单一集成解决方案。平台上部署的应用程序在其整个生命周期中以“devops方式”进行管理,使用Salt作为配置管理工具并结合持续集成/持续交付(CI/CD)支持以确保正确部署应用程序。Mirantis云平台可以直接在裸机、OpenStack集群或公共云上运行Kubernetes。Mirantis声称,Mirantis云平台让用户更容易使用Kubernetes,因为配置Kubernetes底层基础设施的工作不会落到最终用户身上。相关链接:https://www.mirantis.com/software/mcp/7.Platform9ManagedKubernetes大多数Kubernetes发行版专注于让Kubernetes从内到外和从上到下易于管理。Platform9ManagedKubernetes可以在您部署它的任何环境中运行,无论是本地裸机还是远程公共云,但可以由Platform9工程师远程管理。Platform9在客户监督下大约每周六对ManagedKubernetes进行一次更新。Platform9提供了通常需要手动添加到Kubernetes集群的功能,例如多租户场景的用户配额。还包括与Platform9的ProjectFission集成的能力,Fission是一种无服务器计算(又名“功能即服务”)系统,几乎与任何编程语言兼容,并具有容器化的运行时环境。相关链接:https://platform9.com/managed-kubernetes/8。Rancher2.0RancherLabs已将Kubernetes集成到其2.0版容器管理平台(名为Rancher,目前处于测试阶段)。Rancher2.0在Linux主机、Docker容器和Kubernetes节点上运行在比其他Kubernetes发行版更高的级别上,无论位置或基础设施如何,都可以轻松管理它们。它甚至可以管理AmazonEKS、GoogleKubernetesEngine、Azure容器服务和其他Kubernetes即服务云上的Kubernetes集群。Rancher还附带了自己的Kubernetes发行版。Rancher旨在消除在设置Kubernetes集群和为特定环境定制Kubernetes过程中的许多麻烦,并避免那些阻碍平滑升级到Kubernetes的定制——这是一个快速发展和不断更新的项目的重要考虑因素.相关链接:https://rancher.com/kubernetes/9.RedHatOpenShiftRedHat的PaaS产品RedHatOpenShift最初使用类似于Herokubuildpack的“cartridge”来打包应用,然后将应用部署在“gear”上“在容器中。然后是Docker,OpenShift发生了变化,以充分利用新的容器映像和运行时标准。RedHat也不可避免地将Kubernetes作为OpenShift中的编排技术。OpenShift旨在为PaaS中的所有组件提供抽象和自动化。这种抽象化和自动化也延伸到了Kubernetes,它仍然带来了相当大的管理负担,因此OpenShift被用来减轻这种负担,以用于部署PaaS的更大任务。相关链接:https://www.redhat.com/en/technologies/cloud-computing/openshift10.StackubeHyperHQ为运行容器提供Hyper.sh云服务,它开发了Stackube,这是一个“以Kubernetes为中心的OpenStack发行版”。通常,OpenStack使用名为Nova的组件来配置和管理计算节点,而Stackube使用Kubernetes。但除此之外,它使用“vanilla”OpenStack和Kubernetes,所有其他细节都由OpenStack插件处理。HyperHQ声称Stackube的优势之一是它可以根据所使用的容器运行时提供不同程度的多租户。对于“软”多租户,有Docker;为了更可靠地隔离资源,可以使用HyperContainer,它使用管理程序级别的隔离。相关链接:https://github.com/openstack/stackube11。SUSE云即服务(CaaS)平台SUSE是欧洲非常流行的Linux发行版,它提供了SUSECaaS平台。从概念上讲,它让人联想到CoreOSTectonic——一个捆绑了用于运行容器的裸机“微型”操作系统、作为容器编排系统的Kubernetes、内置镜像注册表和集群配置工具的系统。SUSECaaS平台同时运行在公有云和本地裸机上?请注意,“SUSE目前不支持集成到底层云基础架构中的任何功能。”这意味着SUSECaaS平台的初衷并不是为了补充AmazonEKS或GoogleKubernetesEngine,而是避开它们,让用户可以跨多个云和数据中心运行容器。相关链接:https://www.suse.com/products/caas-platform/12。TelekubeTeleportSSH服务器系统的开发商Gravitational还开发了Telekube,这是一种“面向生产”的服务器,可以在本地或远程集群上运行“强化”Kubernetes发行版。Telekube定位为专有SaaS平台的解决方案,或将Kubernetes运行为跨多个区域或多个托管服务提供商的服务。Telekube上的应用程序必须准备好在Kubernetes上的容器中运行。它们还必须打包成“Bundle”,然后发布到Kubernetes集群进行分发。捆绑需要一些额外的工作,除了部署基于容器的应用程序的所有其他准备工作,但Bundle清单文件是您唯一需要维护的特定于Telekube的附加内容。相关链接:https://gravitational.com/telekube/原标题:12个Kubernetes发行版引领容器革命,作者:SerdarYegulalp
