乐趣区

10个业界最流行的Kubernetes发行版

如果你需要大规模的容器编排,想必 Kubernetes 毋庸置疑是你的首要选择,这一由谷歌推出的开源容器编排系统近年来发展飞速,大受业界及广大用户好评。

尽管如此,对于大多数用户而言,Kubernetes 存在着学习曲线陡峭、难以设置和配置的问题,导致终端用户需要承担繁重的管理工作。基于此,最佳的解决办法并非单枪匹马学习并直接上手 Kubernetes,而是寻找一个完善的容器技术解决方案,这种方案通常将 Kubernetes 纳为其支持和维护的组件之一,使用起来通常更直观和简洁,如此一来便极大程度降低了 Kubernetes 的上手门槛。

在本文中,我列出了 10 个业界最流行的 Kubernetes 相关产品,包括了 Kubernetes 发行版、容器工具、不同的供应商提供的 Linux 内核等等。

本文的列表不包括 Amazon EKS 或者 Google Kubernetes Engine(GKE)这样的云服务,仅仅列出了可以在本地运行或作为云托管的软件发行版。

目 录

  • Rancher 2.0
  • CoreOS Tectonic/Red Hat CoreOS
  • Canonical Distribution of Kubernetes(CDK)
  • Docker 社区版 / Docker 企业版
  • Heptio Kubernetes 订阅
  • Kontena Pharos
  • Pivotal 容器服务 (PKS)
  • Red Hat OpenShift
  • SUSE 容器服务平台
  • Telekube

十大 Kubernetes 发行版

Rancher 2.0

https://rancher.com/kubernetes/

严格来说,Rancher 2.0 并不是一个单纯的 Kubernetes 发行版,而是一个开源的 Kubernetes 管理平台。Rancher 2.0 为企业用户提供 Kubernetes-as-a-Service (Kubernetes 即服务),且能够实现多 Kubernetes 集群的统一纳管,不论这些 Kubernetes 集群在何处、以何种方式部署。这解决了生产环境中企业用户可能面临的基础设施不同的困境。Rancher 2.0 能统一纳管来自 Google(GKE)、Amazon(EKS)和 Azure(AKS)等公有云上托管的 Kubernetes 服务的平台。

Rancher Labs 公司在 2019 年发布了提供轻量级的 Kubernetes 发行版,K3s。这款产品专为在资源有限的环境中运行 Kubernetes 的研发和运维人员设计。其每个服务器实例仅需 512MB RAM 以及 200MB 的磁盘空间。它删除了旧的、非必须的代码,整合正在运行的打包进程,使用 containerd 代替 Docker 作为运行时的容器引擎,并在除 etcd 之外引入了 SQLite 作为可选的数据存储,通过这些变化极大地减少了运行所需的空间和资源。

CoreOS Tectonic/Red Hat CoreOS

https://coreos.com/tectonic/

CoreOS 提供以容器为中心的 Linux 发行版,它兼容 Docker,但又有固定的镜像格式、它自己的 runtime、以及一个“企业级 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 的功能。

Canonical Distribution of Kubernetes(CDK)

https://ubuntu.com/kubernetes

Canonical,Ubuntu Linux 的制造商,也拥有自己的 Kubernetes 发行版,即 Canonical Distribution of Kubernetes(CDK)。该发行版的一大卖点是它是一款广泛受到支持、易于理解且普遍部署的 Ubuntu Linux 发行版。Canonical 声称其堆栈既可以在任何云上运行,也可以在本地部署,并支持 CPU 和 GPU 驱动的工作负载。付费客户还能享受 Canonical 的工程师远程管理他们的 Kubernetes 集群的服务。

Canonical 的 Kubernetes 发行版也有轻量级版本的,叫 Microk8s。开发人员以及 Kubernetes 新手可以在笔记本或者台式机上安装 Microk8s,将其用于测试、实验,甚至在那些硬件配置低的生产环境中使用。

此外,Canonical 和 Rancher Labs 共同开发了一个产品叫做“云原生平台(Cloud Native Platform,简称 CNP)”,它将 Canonical 的 Kubernetes 发行版和 Rancher 的容器管理平台相匹配。如此,就可以使用 Kubernetes 管理运行在每个集群上的容器并且用 Rancher 管理多 Kubernetes 集群。目前,CNP 已经在 Rancher 2.x 的版本中可以使用。

Docker 社区版 / Docker 企业版

https://www.docker.com/produc…

对于很多人来说,Docker 仅仅是容器。但实际上,2014 年之后 Docker 也有它自己的集群和编排系统,Docker Swarm,而这一系统曾是 Kubernetes 的竞争对手。直到 2017 年 10 月,Docker 宣布将在其未经修改的、永久标准的状态中添加 Kubernetes 作为标准打包方式,这一调整涵盖了 Docker Community Edition 和 Docker Enterprise 2.0 及以后的版本。

Docker Enterprise 3.0 添加了 Docker Kubernetes 服务,这一 Kubernetes 集成可以保持开发人员桌面和生产部署环境中 Kubernetes 版本一致。

简而言之,Docker 公司已经意识到 Kubernetes 比 Swarm 更适合管理庞大、复杂的容器环境。然而,Docker 依然包括其原始的集群系统“swarm 模式”,它更适用于那些不太复杂的工作,例如部署一个无需扩展太多的本地的、受保护的应用程序或者维护不需要修改的现有 swarm 模式集群。

Heptio Kubernetes 订阅版

https://heptio.cloud.vmware.com/

Kubernetes 的两位创始人 Craig McLuckie 和 Joe Beda,创办了 Heptio,主要围绕 Kubernetes 提供服务和产品。他们第一个主打产品是一个付费的 Kubernetes 部署服务,Heptio Kubernetes Subscription(HKS)。Heptio 提供全天候的技术支持,收费是每月 2000 美元及以上。

Heptio 的主要优势在于它是企业级的 Kubernetes,又不害怕厂商锁定。它可以在公有云或者私有硬件上运行部署。所有 Heptio 提供的用于管理 Kubernetes 配置的工具都是开源的,并且修复程序可以直接交付到支持的集群。

2018 年 VMware 收购了 Heptio,不过此次收购目前暂未影响 Heptio 的产品计划。

Kontena Pharos

https://www.kontena.io/pharos/

Kontena Pharos 的定位是“Kubernetes that just works”,它与 Red Hat 的 Linux 产品拥有大致相同的“剧本”。底层架构是经过 CNCF 认证的 Kubernetes 发行版,可以在 Apache 2 许可下使用(和 Fedora 或 CentOS 一样)。付费客户可以获得专业级功能、技术咨询、支持服务和特定固定价格的产品,比如迁移到云原生基础设施。

核心 Pharos 发行版默认配置了自动安全更新和多个容器运行时等基本功能。付费的版本则添加了企业工具,比如 Kontena Lens 面板、Kontena Storage 分布式存储系统、备份、负载均衡以及在内网隔离环境中部署集群。

专业版有 30 天的试用期,订阅的费用为每月近 3000 美元起。而开源的版本则没有时间的限制也不需要许可费用。

Pivotal 容器服务 (PKS)

https://pivotal.io/cn/platfor…

Pivotal,以其在 Cloud Foundry 上的表现而为人熟知,它拥有企业级 Kubernetes 服务,即 Pivotal Container Service(PKS)。PKS 吸取了许多其他 Pivotal 项目的灵感,例如,它使用曾经用于 Pivotal 的 Cloud Foundry 的 Kubo 项目来启动和管理 Kubernetes 集群。

PKS 一个最突出的特性是与 VMware 虚拟机堆栈紧密集成,事实上,PKS 是 VMware-Pivotal 的联合项目。运行在 PKS 上的容器可以访问在 vSphere 上运行的虚拟机可用的服务,譬如 VMware VSAN 中的持久存储。此外,PKS 可以通过用于在公有云和私有云环境中管理 VMware 基础设施的 VMware Cloud Foundation 进行管理。

简而言之,任何使用 VMware 并且对 Kubernetes 越来越感兴趣的企业可能希望研究 PKS 以充分利用他们现有的 VMware 设置。

Red Hat OpenShift

https://www.redhat.com/en/tec…

OpenShift 是红帽的 PaaS 产品,最初使用与 Heroku buildpack 类似的“盒式磁带”打包应用程序,然后将其部署在称为“齿轮”的容器中。然后 Docker 出现了,OpenShift 经过了重新设计,使用新的容器镜像和运行时标准。不可避免地,Red Hat 采用了 Kubernetes 作为 OpenShift 中的编排技术。

OpenShift 还为 PaaS 中的所有组件提供抽象化和自动化。这种抽象和自动化扩展到 Kubernetes,会带来相当大的管理负担,因此 OpenShift 可以用来缓解这一过程,作为部署 PaaS 的更为重要的一部分。

如上文所提到的,CoreOS Tectonic 正在合并到 Red Hat OpenShift 中,虽然技术合并预计要到 2020 年才能完成。

SUSE 容器服务平台

https://www.suse.com/products…

因 Linux 发行版而在欧洲广为人知的 SUSE 也拥有 SUSE CaaS 平台。概念上,SUSE CaaS 平台让人想起 CoreOS Tectonic,它结合了运行容器的裸机“微型”操作系统、Kubernetes、内置的镜像仓库和集群配置工具。

SUSE CaaS Platform3 于 2018 年发布,在这一版本中添加了多主机功能以使集群更能适应主节点崩溃和内核调整功能,以便对包含的 Linux 内核进行自定义调整。

SUSE CaaS 平台可以在公有云和本地裸机上运行,但需注意 SUSE 目前无法支持任何与底层云基础架构的集成。这意味着 SUSE CaaS 平台不是为了补充 Amazon EKS 或 Google Kubernetes Engine 而设计的,而是为了规避他们,让您可以跨多个云和数据中心运行容器。

Telekube

https://gravitational.com/gra…

Teleport SSH 服务器的所属公司 Gravitational 开发了 Gravity,这是一种在本地或远程集群上运行的“强化生产”Kubernetes 发行版。Gravity 的定位是私有 SaaS 平台的解决方案或在多个区域及托管提供商中运行 Kubernetes-as-a-service。

Gravity 上的应用程序要想在 Kubernetes 上的容器中运行,必须做一些前提准备。它们必须首先被打包成“Bundles”,这些“Bundles”之后会被发布到 Kubernetes 集群进行分发。这些“绑定”属于额外工作,除此之外我们常见的部署容器应用程序所需的准备工作也仍然需要做,不过 Bundle 清单也是 Gravity 唯一需要的额外工作了。

Gravity 包含拍摄整个 Kubernetes 集群的快照的功能,其中包括所有的应用程序和配置,并且用户可以部署快照到任意其他 Kubernetes 环境中。

结 语

Kubernetes 和容器正在改变应用程序的创建、部署以及管理的方式。而本文列出的这些 Kubernetes 发行版,正在引领着这场变革。

原文链接:

https://www.infoworld.com/art…

退出移动版