Kubernetes和容器正在改变应用程序的构建,部署和管理方式,这些发行版正在引领这一变革。
如果你需要大规模的容器编排,Kubernetes已成为必选的项目。这一Google推出的开源容器编排系统备受好评,得到了良好的支持,并且发展迅速。
Kubernetes同时庞大,复杂,难以设置和配置。不仅如此,大部分繁重的工作还留给了最终用户。因此,最好的方法不是单纯尝试单独使用,而是寻找一个完整的容器解决方案,其以Kubernetes作为底层组件。
在这里,我列出了10个最着名的Kubernetes产品,包含Kubernetes和容器工具的发行版的数量,与各个供应商提供Linux内核及其用户空间的分布相同。
请注意,此列表不包括专用云服务,例如Amazon EKS或Google Kubernetes Engine,重点关注可在本地运行或作为云托管选项运行的软件分发。
1. CoreOS Tectonic/Red Hat CoreOS
CoreOS是一个以容器为中心的Linux发行版的提供商,它与Docker兼容,但具有自己的固有镜像格式和运行时,以及“企业级Kubernetes”发行版。它们共同构成了CoreOS Tectonic堆栈的基础。
CoreOS操作系统Container Linux主要通过作为一组容器化组件交付而脱颖而出。通过这种方式,可以将操作系统的自动更新整合到生产环境中,而无需关闭正在运行的应用程序。CoreOS还对Kubernetes进行了“一键式”更新。CoreOS Tectonic可在Amazon Web Services,Microsoft Azure和裸机上运行。
Red Hat最近收购了CoreOS,计划将其集成到Red Hat OpenShift中。Container Linux将重新命名为Red Hat CoreOS。此举预计将在2020年之前完成,但Container Linux将继续得到支持。根据Red Hat的说法,过渡后将提供“几乎所有”CoreOS Tectonic的功能。
2. Canonical的Kubernetes的发行版
Canonical,Ubuntu Linux的提供商,提供自己的Kubernetes发行版。Canonical 的Kubernetes的发行版一大卖点是广受尊重,易于理解且普遍部署的Ubuntu Linux发行版。Canonical声称其堆栈可在任何云或本地部署中运行,并支持CPU和GPU驱动的工作负载。付费客户可以让Canonical工程师远程管理他们的Kubernetes集群。
Canonical的Kubernetes发行版也有微型版Microk8s。开发人员和Kubernetes新手可以在笔记本电脑或台式机上安装Microk8s,并将其用于测试,实验甚至在低调硬件上进行生产。
Canonical和Rancher Labs(见下文)共同制作了一个产品Cloud Native Platform,它将Canonical的Kubernetes发行版与Rancher的容器管理平台相结合。我们的想法是使用Kubernetes来管理在每个集群中运行的容器,并使用Rancher来管理多个Kubernetes集群。Ranher 2.0将提供Cloud Native Platform,目前可在beta预览版中使用。
3. Docker社区版/ Docker 企业版
对于我们许多人来说,Docker是容器。自2014年以来,Docker拥有自己的集群和编排系统Docker Swarm,直到最近它还是Kubernetes的竞争对手。然后在2017年10月,Docker宣布将在其未经修改的vanilla state添加Kubernetes作为标准包装,包括Docker 社区版和Docker 企业版 2.0及更高版本。
Docker Enterprise 3.0增加了Docker Kubernetes服务,这是一种Kubernetes集成,可以使Kubernetes的版本在开发环境和生产环境之间保持一致。
简而言之,Docker公司已经承认了容器编排的现状,并承认Kubernetes比Swarm更适合管理大型和复杂的容器环境。但是,Docker仍然包括其原始的群集系统“群集模式”,用于更适合的工作,例如,本地的防火墙后应用程序不太可能增长太多,或者维护现有的群集模式群集不需要改造。
4. Heptio Kubernetes订阅
Kubernetes的两位创始人Craig McLuckie和Joe Beda创立了Heptio,为Kubernetes提供服务和产品。他们的第一个主要产品是Heptio Kubernetes Subscription(HKS),这是一个Kubernetes部署,由Heptio提供全天候支付。定价从每月2,000美元起。
Heptio的主要推销是企业级Kubernetes,没有供应商锁定。部署可以在公有云或专用硬件上运行。Heptio提供的用于管理Kubernetes配置的所有工具都是开源的,修复程序直接提供给支持的集群。
VMware于2018年收购了Heptio,但此次收购尚未影响Heptio产品组合的计划。
5. Kontena Pharos
被称为“仅为Kubernetes工作”,Kontena Pharos遵循与Red Hat的Linux产品大致相同的路线。在底部,它是经过CNCF认证的Kubernetes发行版,可在Apache 2许可下使用(根据Fedora或CentOS)。那些有钱花钱的人(根据红帽企业Linux)可以购买专业级功能,咨询,支持服务和某些固定价格产品,例如迁移到云原生基础设施。
核心Pharos发行版标配了自动安全更新和多个容器运行时等基本功能。 付费产品增加了企业工具,例如Kontena Lens仪表板,Kontena存储分布式存储系统,备份,负载平衡以及在生产环境中部署集群的能力。
专业版有30天的评估期,支持订阅每月375欧元起。开源版没有时间限制,也没有许可费用。
6. Pivotal容器服务(PKS)
Pivotal以其在Cloud Foundry上的工作而闻名,提供企业级Kubernetes,称为Pivotal Container Service(PKS)。PKS吸取了许多其他Pivotal项目的灵感。例如,它使用Kubo项目(也用于Pivotal的Cloud Foundry)来启动和管理Kubernetes集群。
PKS的突出特点是与VMware虚拟化堆栈紧密集成;事实上,PKS是VMware-Pivotal联合项目。在PKS上运行的容器可以访问通常仅对vSphere上运行的虚拟机可用的服务,例如VMware VSAN中的持久存储。此外,PKS可以通过VMware Cloud Foundation进行管理,用于在公有云和私有云环境中管理VMware基础架构。
简而言之,任何使用VMware并且对Kubernetes越来越感兴趣的公司,可能希望研究PKS以充分利用他们现有的VMware设置。
7. Rancher 2.0
Rancher Labs已将Kubernetes纳入其容器管理平台,简称Rancher-with 2.0版。 Rancher 2.0比其他Kubernetes发行版更高级别,位于Linux主机,Docker容器和Kubernetes节点之上,无论位置或基础架构如何,都可以管理所有这些节点。它甚至可以管理Amazon EKS,Google Kubernetes引擎,Azure Kubernetes服务和其他Kubernetes即服务云上的Kubernetes集群。
Rancher还有自己的Kubernetes发行版。Rancher旨在消除设置Kubernetes集群和为特定环境定制Kubernetes的过程中的大量繁重工作,而不允许这些定制妨碍Kubernetes的平稳升级,这是快速的关键考虑因素,迁移和不断更新的项目。
Rancher还提供最小的Kubernetes分布,称为K3s。K3s针对低配置部署进行了优化,每个服务器实例仅需512 MB RAM,磁盘空间为200 MB。它通过省略所有历史,alpha级和非必要功能以及许多不太常用的插件(尽管可以根据需要添加它们)来压缩大小。
8. 红帽OpenShift
Red Hat的OpenShift是Red Hat的PaaS产品,最初使用Heroku buildpack类似的“cartridges”打包应用程序,然后将其部署在称为“gears”的容器中。然后Docker出现了,并且OpenShift被重新设计以利用新容器镜像和运行时标准。Red Hat不可避免地采用Kubernetes作为OpenShift中的编排技术。
OpenShift旨在为PaaS中的所有组件提供抽象和自动化。这种抽象和自动化也扩展到Kubernetes,它仍然会带来相当大的管理负担,因此OpenShift可以用来缓解这一过程,作为部署PaaS的更大任务的一部分。
如上所述,CoreOS Tectonic正在合并到Red Hat OpenShift,尽管技术合并预计要到2020年才能完成。
9.SUSE 容器服务平台
SUSE以在欧洲广泛流行的Linux发行版而闻名,它还提供SUSE CaaS平台。从概念上讲,SUSE CaaS平台让人想起CoreOS Tectonic,它结合了运行容器的裸机“微型”操作系统,用于容器编排的Kubernetes,内置的映像注册表和集群配置工具。
SUSE CaaS Platform 3于2018年发布,它增加了多主机功能,使集群对主节点崩溃更具弹性,并具有内核调整功能,可对所包含的Linux内核进行自定义调整。
SUSE CaaS平台可以在公有云和本地裸机上运行,但需要注意的是“SUSE目前不支持任何与底层云基础架构的集成。”这意味着SUSE CaaS平台不能用于补充Amazon EKS或Google Kubernetes引擎,但要绕过它们,允许跨多个云和数据中心运行容器。
10. Telekube
Teleport SSH服务器的引力制造商也生产Telekube,这是一种在本地或远程集群上运行的“生产强化”Kubernetes发行版。Telekube定位为私有SaaS平台的解决方案,或用于在多个地区或托管提供商中运行Kubernetes作为服务。
Telekube上的应用程序必须准备好在Kubernetes上的容器中运行。它们还必须打包成“Bundles”,然后到Kubernetes集群进行分发。捆绑需要在部署基于容器的应用程序所需的所有其他准备工作之上进行一些额外的工作,捆绑清单是需要维护的惟一与telekube相关的附加内容。
另一个针对Kubernetes Gravity的工具允许对整个Kubernetes集群(包括其所有应用程序和配置)进行快照,并将快照部署到任何其他Kubernetes环境。
https://www.infoworld.com/article/3265059/10-kubernetes-distributions-leading-the-container-revolution.html
编写Dockerfiles最佳实践(Docker 18.09) | 附PDF下载
暂无评论内容