开源中国-最新资讯 ( ) • 2024-04-24 11:10

继 2023 年 7 月下旬入选 CNCF Landscape 之后,集群生命周期管理工具 Kubean 于 2024 年 4 月 15 日经过 CNCF TAG 委员会投票,成功入选 CNCF Sandbox。

根据介绍,Kubean 本质上是一个 Operator,为容器化集群提供 CR 资源,能够以 Job 的形式完成集群部署等操作。就像传说中撒豆成兵的仙界将帅一样,只要你有一个集群打底,就可以通过 Kubean 用多种方式在各种环境下部署一个又一个的新生集群。

  • 支持 Operator 和 Helm Chart 方式声明式方式从零部署集群,支持 D1、D2 高效运维集群(扩容、升级、卸载等)
  • 支持在裸金属、虚拟机、云平台等各种环境上部署 Kubernetes 集群
  • 支持几乎所有 Linux 发行版
  • 支持日志追溯,方便集群运维(升级、扩展、卸载),也方便将集群回滚到某个作业状态
  • 支持 Kubespray 等引擎
  • 支持离线安装和升级

整体架构图:

Kubean 需要运行在一个已存在的 Kubernetes 集群上,通过标准 CRD 资源和 Kubernetes 内建资源来控制和管理集群的生命周期(安装、卸载、升级、扩容、缩容等)。Kubean 采用 Kubespray 作为底层技术依赖,一方面简化了集群部署的操作流程,降低了用户的使用门;另一方面在 Kubespray 能力基础上增加了集群操作记录、离线版本记录等诸多新特性。

  • Cluster Controller:监视 Cluster 对象。唯一标识一个集群,拥有集群节点的访问信息、类型信息、部署参数信息,并且关联所有对此集群的操作(ClusterOperation 对象);
  • ClusterOperation Controller:监视 ClusterOperation 对象。当 ClusterOperation Object 被创建时,控制器会组装一个 Job 去执行 CRD 对象里定义的操作;
  • Manifest Controller:监视 Manifest 对象。用于记录和维护当前版本的 Kubean 使用和兼容的组件、包及版本;
  • LocalArtifactSet Controller:监视 LocalArtifactSet 对象。用于记录离线包支持的组件及版本信息。

Kubean 目前默认基于 Kubespray 底层引擎,未来还会做更多引擎的支持,比如可以切换到 Kops、KubeKey 这类新引擎。

Kubespray 是隶属于 kubernetes-sigs 生态,专为生产集群部署所设计的开源项目。Kubean 最初是在 Kubespray 基础上开发的,又新增了一些功能。以下是 Kubean 与 Kubespray、Kops 和 KubeKey 的简单对比:

更多详情可查看官方公告