开源Kubernetes容器编排平台已成为云原生计算的事实上的标准,但至少有一个问题 - 默认情况下,边缘用例没有优化。2月26日,Rancher Labs正式宣布推出开源K3S工作,该工作构建了Kubernetes的轻量级实现,仅需要常规Kubernetes安装的一小部分存储和内存占用。Kubernetes通常也被称为K8S,而K3S则是一个小型版本,其尺寸不到一半。
“我们真的有两个目标K3S:让Kubernetes变小,消耗更少的内存,另一个是让它真的变得简单易操作,”Rancher Labs的联合创始人兼首席执行官盛亮告诉eWEEK。
Rancher Labs是一家容器管理平台供应商,拥有自己的全尺寸容器编排平台,简称为Rancher,于2017年10月在Kubernetes上进行了重新设计。
Liang表示,用K3S构建轻量级Kubernetes发行版的动力源于他从该领域的组织中看到的实际需求。在一个案例中,组织希望在边缘基础设施上部署Kubernetes,但由于运行Kubernetes所需的内存和边缘系统的资源限制,因此受到了一定的挑战。边缘计算是一种日益普遍的计算能力部署模型。通过边缘计算,不是让所有分析和工作负载在中央核心服务器或云中运行,而是在网络边缘处的资源处理各种任务。
使Kubernetes更小
Kubernetes是一个大型项目,包括许多不同的子系统,驱动程序和扩展,使其能够管理容器工作负载并连接到不同的服务。Liang表示,边缘计算用例并不需要所有这些组件。
运行Kubernetes所需的内存可能会有所不同,尽管平均每个RAM的平均值为4GB。使用K3S,整个平台可以在不到512MB的RAM中运行。
Liang解释说,K3S通过删除遗留代码并且不需要操作来消除不需要的组件。他补充说,对于各种云提供商的存储,网络和负载平衡的树内支持也被删除,这代表了大部分的尺寸减少。树内支持是指与主Kubernetes版本集成的代码,而不仅仅是组织可以选择加载的可选扩展。Liang指出,Kubernetes用户今天可能需要的大部分云支持也可通过可插拔驱动程序获得。
“所以你仍然可以在亚马逊上使用K3S,它仍然可以加载所有东西,”梁说。
K3S删除的另一件大事是etcd分布式文件存储系统。Etcd是Kubernetes的核心组件,它提供了一种机制,使数据能够以稳定,可靠和一致的方式存储在不同机器的集群中。K3S用一个SQLite数据库取代了etcd,Liang说这对运行Kubernetes所需的资源有很大的影响。
即使使用K3S减少的所有代码并从主线Kubernetes版本中删除,K3S仍然能够通过Kubernetes一致性测试,这使其能够与其他Kubernetes平台和发行版进行互操作。K3S还处于早期阶段,但梁说,随着它的成熟和稳定,他希望Rancher Labs能够提供商业支持的K3S实施。
“K3S尚未准备好用于生产,现在我们只想看看社区是否有兴趣,”梁说。