前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenKruise 进入 CNCF 沙箱项目孵化

OpenKruise 进入 CNCF 沙箱项目孵化

作者头像
我是阳明
发布2020-11-12 11:51:33
9450
发布2020-11-12 11:51:33
举报
文章被收录于专栏:k8s技术圈k8s技术圈

在 CNCF 官方网站(https://www.cncf.io/sandbox-projects/)上可以看到 OpenKruise 已经正式成为了 CNCF 沙箱项目。

介绍

Kruise 是 cruise的谐音,'k' for Kubernetes,字面意义巡航,豪华游艇。寓意 Kubernetes 上应用的自动巡航,满载阿里巴巴多年应用部署管理经验。

Kruise 的目标是 automate everything on Kubernetes ! ,Kruise 项目源自于阿里巴巴经济体应用过去多年的大规模应用部署、发布与管理的最佳实践,源于容器平台团队对集团应用规模化运维,规模化建站的能力,源于阿里云 Kubernetes 服务数千客户的需求沉淀。Kruise 借力于云原生社区,集成阿里巴巴云原生实践之精华,反哺社区,指引业界云原生化最佳实践,少走弯路。Kruise 核心在于自动化,从不同维度解决 Kubernetes 之上应用的自动化,包括部署、升级、弹性扩缩容、Qos 调节、健康检查、迁移修复等等。

核心功能

原地升级这是一种新的更新容器镜像的方法,与 Deployment 和 StatefulSet 中 Pod 重建升级的方法不同,原地升级只是用新镜像重新启动特定的容器,并不会重新创建 Pod。这使得更新速度更快,对其他子系统(如调度器、CNI 或 CSI)的影响也更小。

允许最大不可用实例的配置社区原生的 StatefulSet 在升级的过程中是不允许同时升级多个实例的,这主要是为了某些有状态应用需要依次按序升级的需求。但是,从阿里巴巴场景,以及阿里云容器平台之上的客户了解到,许多应用不需要依次按序升级的语义,这样带来的问题是效率太低。特别是像阿里巴巴一些应用实例数巨大的场景,问题尤其显著。MaxUnavailable 的功能正式为了解决这个问题,它允许应用实例被并行升级,且保持始终保持最大不可用的实例数不超过 MaxUnavailable 的限制数。

Sidecar 容器管理支持在一个单独的 CR 中定义 Sidecar 容器,Kruise 控制器将在创建 Pod 时把它们注入到所有符合条件的 Pod 中。除此之外,通过更新 CR 中的 container Spec ,也可以在原地升级 Sidecar 容器镜像。主容器管理和 Sidecar 容器管理的分离,极大地简化了开发者的合作。

UnitedDeployment是一种新的 CRD,用于在由多个区域组成的集群中实现高可用部署。它管理多个同类的工作负载,每个工作负载都专用于一个区域。跨域的 Pod 分配由每个工作负载的副本数决定。由节点标签标识的域可以是一个可用区(AZ)或一组同类节点。

Broadcast Job会在集群中每个 node 上面跑一个 pod 直至结束。类似于社区的 DaemonSet, 区别在于 DaemonSet 始终保持一个 pod 长服务在每个 node 上跑,而 BroadcastJob 中最终这个 pod 会结束。相比 DaemonSet,Broadcast 结束后不再占用资源,这在某些场景中特别适用,比如升级 node 中某些组件,检测 node 上一些配置是否正确等。

特性

原生 Kubernetes

  • 使用 CRDs 进行拓展
  • 支持 Stateful/Stateless/Job Workloads 和各类 Operators

生产级别可用

  • 在生产环境用于管理数以万计的 Pod
  • 支持具有数千个节点的大规模集群

简单易用

  • 安装/卸载 简单
  • 安装控制器可选

策略丰富

  • 可以指定 Pod 升级/删除
  • 可以管理升级顺序
  • 升级期间 Pod 优雅离线

“更多信息移步 https://github.com/openkruise/kruise ”

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 k8s技术圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 核心功能
  • 特性
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档