广告

Kubernetes发行版是不是太多了点?

  • 浏览(331)
  • 评论(0)
  • 译者:k8s

全球含金量容器认证CKA培训北京站文末招生


我们到底需要多少个Kubernetes发行版?越来越多的供应商推出自己的发行版,这是一个值得想想的问题。

笔者觉得,我们压根儿不需要这么多的Kubernetes发行版。

  • 什么是Kubernetes发行版?

Kubernetes本身(也就是你可以从kubernetes.io下载的源代码)并不是很有用。使用源代码设置Kubernetes集群需要你编译代码并设置服务器环境(在大多数情况下是服务器集群)来托管,安装,配置,并设置工具来管理和自行更新。

对于大多数人来说这够费劲儿的,并不是一种现实的方式。这就是为什么许多公司已经推出了Kubernetes发行版。这些发行版不仅提供了Kubernetes本身的预配置版本,还提供了安装和使用Kubernetes的其他重要工具。许多发行版还包括主机操作系统。有些甚至会在公有云中以IaaS的形式为你提供托管基础设施。

Kubernetes在发行版生态系统方面并不是独一无二的。Linux内核做了同样的事情。还有其他复杂的软件平台亦是如此,包括Spark、Hadoop和OpenStack。

  • 有多少发行版?

根据笔者的统计,目前Kubernetes网站上列出了大约30种不同的发行版。这并不一定完全,可能还有其他未在网站上发布的发行版。毕竟,正如任何人都可以创建自定义Linux发行版一样,没有什么能阻止你将Kubernetes与其他一些组件打包并称之为新的Kubernetes发行版。

  • 我们需要这么多的发行版吗?

现在,最大的问题是:我们真的需要30种不同的方式来部署Kubernetes吗?

笔者不这么认为。通常,Kubernetes发行版中有五个主要变量:

——托管它的基础设施:可以是本地的,可以是基于云的,也可以两者都是。

——主机基础设施是否捆绑到发行版本身。

——使用哪个主机操作系统。某些发行版仅在一个特定的操作系统上运行,一些与多种操作系统兼容。

——使用哪种网络框架(Calico、Flannel、Canal等)。

——是商业版还是社区开发版。

与Linux发行版相比,这些变量并不多。构建Linux发行版(甚至是Hadoop、Spark或OpenStack发行版)需要你处理超过五个核心组件。你必须考虑使用哪个内核版本,并对如何配置它做出无数个选择。你必须从数以万计的开源软件应用程序和工具中进行选择,以包含在你的发行版中。你还必须决定支持哪些硬件设备,如何管理更新,如何打包软件等。

Kubernetes发行版并没有这么复杂。这就是为什么笔者认为不需要几十个不同的Kubernetes发行版。

如果Kubernetes生态系统整合几个可以在任何公有云或本地运行的发行版,那么它将更容易并且有更多方向。当然,提供基于定制Kubernetes发行版(只能在特定的云中工作)的托管Kubernetes服务的云计算公司不会喜欢这样。构建Kubernetes发行版将用户锁定到特定的工具集中的其他供应商也不会喜欢这样。

但少一些发行版会使整个社区受益——可以更轻松地构建适用于多个环境的Kubernetes工具和配置,而无需担心特定于某个发行版的问题。

简而言之:Kubernetes并不像Linux等那么复杂。全世界有大约900个Linux发行版是可以理解的,但几十种不同的Kubernetes发行版实在没有必要。

文章推荐:

4月25-28日CKA北京站报名啦!!!


北京(4.25-4.28)、深圳(待定)、广州(待定),其它城市根据参与人数安排,大家快来报名吧!

  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头