• 10个业界流行的Kubernetes发行版
    发布日期:2019-08-06 04:07   来源:未知   阅读:

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

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

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

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

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

  CoreOS提供以容器为中心的Linux发行版,它兼容Docker,但又有固定的镜像格式、它自己的runtime、以及一个“企业级Kubernetes发行版”。上述这些共同构成了CoreOS Tectonic堆栈的基础。

  CoreOS操作系统Container Linux是业界的一大流行产品,它的亮点之一在于它就像一组容器化组件,用户无需关闭正在运行的应用程序,即可将操作系统的自动更新整合到生产环境中。CoreOS还可以对Kubernetes进行“一键式”更新。此外,CoreOS Tectonic可以在Amazon Web Services、Microsoft Azure以及裸机上运行。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Power by DedeCms