其他分享
首页 > 其他分享> > OpenKruise 2021 规划曝光:More than workloads

OpenKruise 2021 规划曝光:More than workloads

作者:互联网

头图.png

作者 | 王思宇(酒祝)
来源|阿里巴巴云原生公众号

背景

OpenKruise 项目地址:https://github.com/openkruise/kruise

OpenKruise 是什么?它是阿里云开源的云原生应用自动化管理引擎,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目。它来自阿里巴巴多年来容器化、云原生的技术沉淀,是阿里内部生产环境大规模应用的基于 Kubernetes 之上的标准扩展组件,一套紧贴上游社区标准、适应互联网规模化场景的技术理念与最佳实践。

值得一提的是,阿里内部使用的 OpenKruise 完全来自于社区版本、代码几乎完全一致。此外,OpenKruise 还被提供到了阿里云容器服务(ACK)的应用目录中,任意云上客户都可以一键安装和使用 OpenKruise。目前在 ACK 上使用 OpenKruise 的客户主要包括斗鱼 TV、申通等,而开源社区中携程、Lyft、有赞等公司也都是 OpenKruise 的用户和贡献者(参考:用户列表)。

版本回顾

从 2019 年 6 月开源伊始,OpenKruise 聚焦于云原生应用部署/发布管理相关领域,扩展应用工作负载(workloads)。从最初的 Advanced StatefulSet、BroadcastJob,到“终极”的无状态应用负载 CloneSet、应用 sidecar 容器管理“利器” SidecarSet、多可用区管理负载 UnitedDeployment 等。

当前 OpenKruise 丰富的 workloads 几乎覆盖了绝大多数通用的应用部署场景,这也是目前社区用户对 OpenKruise 的认知。但 OpenKruise 并不仅仅局限于此,以面向云原生场景的应用自动化为目标,必然不止是“部署”那么简单(当然它并不简单)。

规划一览

在 2021 上半年,OpenKruise 新版本会先围绕应用风险防控、Operator 运行时扩展、daemon 旁路扩展等方面展开,而在此之后,还有增强版本的 HPA、无代码控制器尚在排期中。

1.png

1. 风险防控

面向终态的自动化是一把 “双刃剑”,它既为应用带来了声明式的部署能力,同时也潜在地会将一些误操作行为被终态化放大。在发生操作故障时副本数维持、版本一致性、级联删除等机制反而很可能导致爆炸半径扩大,例如:

在实际的生产集群中存在了各种各样的高危操作,OpenKruise 计划通过一系列可选的风险防控机制来为应用最终的可用性做兜底:

2. kruise-daemon

过去 OpenKruise 只是作为一个中心 kruise-controller-manager 组件运行、提供 controller/webhook 服务,因此其实对于单机侧的操作无法介入。接下来,我们会引入 kruise-daemon 作为单机侧组件,支持在 Kubelet 之外的旁路实现扩展:

3. ControllerMesh

Kubernetes 能击败 Mesos/Swarm 等对标产品、成为容器集群调度管理引擎的事实标准,其强大而又灵活的扩展能力功不可没。Operator 既是一种特殊的应用,也是不少有状态应用的自动化管理者。而过去社区整体 Operator 趋势还停留在数量野蛮增长、周边运行时机制却无太大进步,这就导致各类 Controller/Operator 的数量和复杂性也逐渐增加,变得越来越难以理解和管理。

单主问题带来的控制器单点运行,无法负载均衡、无法水平扩展;版本升级一次性切换、无法灰度,A/B 测试、金丝雀等模式都无法实现。另外控制器潜在的爆炸半径大,也没有系统性的防护、速率限制、熔断机制。其他可观测性方面的监控、追踪、度量等也都缺乏统一的方式。

我们希望设计一个方案,能提供对整个控制器运行平面的行为洞察和操作控制的能力,以及一个完整的满足 Controller/Operator 应用各种部署管理与运行时需求的解决方案。这套方案将实现 Operator 分片运行,从而带来水平扩展、灰度升级等能力,除此之外还将会提供故障注入、更灵活的租户隔离、安全防护、可观测性等系统性的平台能力。

总结

目前版本的 OpenKruise 已经提供了丰富的 workloads 与部署发布策略,几乎覆盖了绝大多数通用的应用场景。值此 2021 “牛转乾坤”之际,OpenKruise 打出了“More than workloads”口号,在新的一年里 OpenKruise 将走出现有的应用负载领域,覆盖更多云原生场景、挖掘更深层面的应用自动化需求。我们欢迎每一位云原生爱好者共同参与 OpenKruise 的建设,共同打造业界顶尖的云原生应用自动化引擎!

标签:原生,容器,workloads,删除,2021,应用,Pod,OpenKruise
来源: https://www.cnblogs.com/alisystemsoftware/p/14235812.html