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

 

我们到底需要多少个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发行版实在没有必要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值