近期,CNCF Technical Oversight Committee(TOC)根据 OpenKruise 的发展以及社区的接受程度,通过投票决定将 OpenKruise 升级为 CNCF 孵化项目。
OpenKruise[1]是一个扩展的组件套件,专注于应用程序自动化,如部署、升级、运维和可用性保护等方面。OpenKruise 提供的大多数功能都是基于 CRD 扩展构建的,可以在纯 Kubernetes 集群中工作,不需要任何其他依赖项,该项目提供以下功能:
- 应用工作负载:支持类似于 Kubernetes上游工作负载的基本功能,以及更高级的能力,如就地更新、可配置的扩展/升级策略和并行操作。
- Sidecar 容器管理:定义、注入甚至升级 sidecar 容器,不影响应用程序容器。
- 应用分区管理:使工作负载支持多域和弹性部署,以便用户可以定义他们的应用程序如何在不同类型的节点上部署的规则。
- 增强的运维能力:如就地重启容器,在特定节点上预下载镜像,在 Pod 中控制容器启动优先级,并在多个命名空间中分配资源。
- 应用安全性防护:可以防止在级联删除期间意外删除 Kubernetes 资源,并防止在自愿中断情况下应用程序中断或 SLA 降级。
OpenKruise 已经在阿里巴巴、百度、Bringg、领英、Lyft、Shopee、Oppo、Spectro Cloud 等企业广泛使用于 Kubernetes 生态系统中。游戏公司 LilithGames 同样使用 OpenKruise 工作负载 Advanced StatefulSet 来管理、部署有状态服务 GameServer。
“Ctrip 广泛使用 OpenKruise 提供的 CloneSet 和 Advanced StatefulSet。”Ctrip 的高级软件工程师 ShiYan 表示,“该公司的容器 PaaS 平台利用 OpenKruise 的原地升级和灰度发布功能,在大规模场景中使应用程序更加强大、高效和安全。”
“OpenKruise 开辟了一条道路,使云原生从业者可以在大规模场景中迁移或操作其关键工作负载或sidecar 容器。”CNCF TOC Lei Zhang 表示,“这使得在许多关键任务场景中,例如大规模 AI/ML 基础架构、电信、大规模的电子商务、社交媒体平台采用 Kubernetes 新趋势成为可能。我们很高兴地欢迎更多经过实践考验的生态系统项目加入 CNCF,并期待看到 OpenKruise 帮助云原生采用达到新的水平。”
主要组件
Manager:kruise-manager 是一个控制平面组件,它运行控制器和 Webhook,并提供一些应用自动化功能,如应用工作负载、Sidecar 容器管理、应用分区管理等
Daemon:kruise-daemon 组件在每个节点上运行,管理诸如镜像预下载和容器重启等任务
Rollout:为 Kubernetes工作负载(CloneSet、Deployment、StatefulSet)提供高级部署功能,例如金丝雀发布、A/B Testing 发布、分批发布等
CNCF CTO Chris Aniszczyk 表示:“OpenKruise 通过其创新的 CRD 扩展帮助具有大型工作负载的组织采用和自动化 Kubernetes 和云原生部署,为诸如 AI / ML等领域的新用例打开了大门。我们很高兴继续培育 OpenKruise 社区,使其成熟并达到毕业条件。”
OpenKruise 已经计划了一个完整的 Roadmap[2],并正在积极添加新功能和功能,如下:
- 一个名为 PodMarker 的新 CRD,用于按编号、标签、节点、探测等标记 Pod
- 支持限速重启容器的分离式活性探针
- 对于 Job 应用程序,在主容器退出后终止 Sidecar 容器
- 通用容器退出优先级功能,以确保 Pod 中的多个容器以特定顺序退出
作为 CNCF 托管的项目,OpenKruise 是一个与其技术利益和更大的 Linux Foundation 一致的中立基金会,提供治理、营销支持和社区外展。该项目加入了其他 36 种孵化技术[3],包括 Backstage、Cilium、Istio、Knative、OpenTelemetry 等。有关每个级别成熟度要求的更多信息,请访问 CNCF 毕业标准[4]。
最后,非常欢迎你通过 Github/Slack/钉钉/微信 等方式加入我们来参与 OpenKruise 开源社区。
你是否已经有一些希望与我们社区交流的内容呢?可以在我们的社区双周会[5]上分享你的声音,或通过以下渠道参与讨论:
- 加入社区 Slack channel[6](English)
- 加入社区钉钉群:搜索群号 23330762 (Chinese)
- 加入社区微信群(新):添加用户 openkruise 并让机器人拉你入群 (Chinese)
相关链接:
[1] OpenKruise
[2] Roadmap
https://github.com/openkruise/kruise/projects/2
[3] 孵化技术
https://www.cncf.io/projects/
[4] 毕业标准
https://github.com/cncf/toc/blob/main/process/graduation_criteria.md
[5] 社区双周会
https://shimo.im/docs/gXqmeQOYBehZ4vqo
[6] Slack channel
https://kubernetes.slack.com/?redir=%2Farchives%2Fopenkruise