电子商城网站开发价格辽宁建设工程信息网新平台
电子商城网站开发价格,辽宁建设工程信息网新平台,公司官网备案流程,龙岗网站设计讯息在近期开展的 KubeCon China 2019 上#xff0c;阿里云将陆续为全球用户分享阿里巴巴超大规模云原生落地实践、云原生前沿技术与应用包括 OpenKruise 开源项目、开放云原生应用中心#xff08;Cloud Native App Hub#xff09;#xff0c;同时将重磅发布边缘容器、云原生应… 在近期开展的 KubeCon China 2019 上阿里云将陆续为全球用户分享阿里巴巴超大规模云原生落地实践、云原生前沿技术与应用包括 OpenKruise 开源项目、开放云原生应用中心Cloud Native App Hub同时将重磅发布边缘容器、云原生应用管理与交付体系等产品和服务。 接下来的三天阿里妹将连线会场为你带来实时报道。 2019年6月24日至26日由 CNCF 主办的云原生技术大会 KubeCon 在中国上海盛装启幕阿里云容器平台团队正式宣布开源重量级项目 OpenKruise将基于阿里巴巴经济体多年大规模应用部署、发布与管理最佳实践沉淀的能力开放给业界。
OpenKruise 是阿里巴巴开源的 Kubernetes 之上云原生应用自动化的引擎。Kruise 项目源自于阿里巴巴经济体应用过去多年的大规模应用部署、发布与管理的最佳实践源于阿里云Kubernetes服务数千客户的需求沉淀。
“云原生应用自动化引擎”加持下的阿里经济体“全面上云”
随着云原生概念的兴起越来越多的应用开始尝试在云原生的土壤上耕耘。那么什么是云原生简而言之云原生就是一套能够充分利用“云”的能力高效构建与交付应用的方法论集合使得应用容器化的用户可以充分的利用云的弹性和“不可变基础设施”等优势专注于自身核心业务价值。
当前阿里巴巴基础设施的云原生演进与升级也正在如火如荼的进行。而在这个阿里巴巴经济体整体云化的过程中阿里内部在超大规模的互联网场景中已经开始进行大量的云原生的理念落地实践比如轻量级容器化。
阿里巴巴经济体正在大规模推进应用的轻量级容器化从而达成利用容器的敏捷和一致等特性快速构建符合云原生理念的电商站点交付的能力适应类似“双十一”大促的严苛技术需求。再比如说云原生应用管理阿里巴巴经济体正在将 Kubernetes 等项目的应用编排与自动化能力穿透到上层运维框架当中驱动电商应用按照云原生的技术理念进行编排、交付、运行。
在阿里巴巴经济体的整体云原生化过程当中阿里的技术团队逐渐沉淀出了一套紧贴上游社区标准适应互联网规模化场景的技术理念与最佳实践。这其中最重要的无疑是如何对应用进行自动化的发布、运行和管理。
OpenKruise来自阿里经济体云原生化历程的宝贵经验与最佳实践
在 KubeCon 上海阿里云容器平台团队正式宣布了重量级项目 OpenKruise以下简称 Kruise的开源。
Kruise 是 cruise 的谐音k for Kubernetes。字面意义是巡航或豪华游艇寓意 Kubernetes 上应用的自动巡航满载阿里巴巴多年应用部署管理经验。
Kruise 的目标是 automate everything on Kubernetes ! Kruise 项目源自于阿里巴巴经济体应用过去多年的大规模应用部署、发布与管理的最佳实践源于容器平台团队对集团应用规模化运维规模化建站的能力源于阿里云 Kubernetes 服务数千客户的需求沉淀。Kruise 借力于云原生社区集成阿里巴巴云原生实践之精华反哺社区指引业界云原生化最佳实践少走弯路。
OpenKruise 是阿里巴巴开源的 Kubernetes 之上云原生应用自动化的引擎。Kruise 核心在于自动化我们将从不同维度解决 Kubernetes 之上应用的自动化包括部署、升级、弹性扩缩容、Qos 调节、健康检查、迁移修复等等。此次 Kruise 开源的内容主要在应用部署升级方面即一套增强版 controller 组件用于应用的部署、升级、运维。后续Kruise 会依次开源智能化的弹性扩缩容组件以及应用 Qos 自调节能力的组件等。
Kruise Controllers将 Kubernetes 的“控制器模式”进行到底
以下内容主要介绍 Kruise Controllers 一套用于 Kubernetes 之上应用自动化部署管理的 controller 组件。
众所周知Kubernetes 项目的核心原理就是“控制器模式”。
目前Kubernetes 项目默认已经提供了一套 Controller 组件例如 Deployment、Statefulset、DaemonSet 等这些 Controller 提供了比较丰富的应用部署和管理功能。但是随着 Kubernetes 的使用范围越来越广真实的企业与规模性场景中的业务诉求与上游 Controller 功能不匹配的情况也越来越常见。
以阿里巴巴为例阿里巴巴内部的 Kubernetes 集群需要服务涵盖50几个BU上万种应用。这个体量非常庞大对规模性和高可用性带来了巨大的挑战。与此同时阿里云上的 Kubernetes 服务也接入了上千家企业客户收集并支撑了各种各样的客户需求。这些诉求与最后阿里经济体的实践经验最终促成了 Kruise 开源项目的诞生。
Kruise 第一期开源主要包含以下Controller后续会加入更多。
Advanced StatefulSet具备丰富发布策略、支持原地升级的 StatefulSet
Advanced StatefulSet扩展了原生的StatefulSet加入了两个新的特性。
原地升级 In-place update strategy
原生的 StatefulSet 在做 rolling update 的时候会销毁并且重建 pods. 这在阿里巴巴规模体量的场景下代价巨大。
首先所有被删除的应用的 Pods 需要被重新调度一遍由于 pod 数量大这对调度带来了不必要的开销更糟的是重新调度的 pod 无法正常被调度由于资源被占用亲和特性等其他原因。Pod 被重新调度到新的 node上损失了原来的本地 state, 虽然通常可以被重建但是还是带来额外开销。重调度后的 pods 很有可能分布在不同的机器上由于网络拓扑结构的改变需要重新申请 IP, 有些依赖 IP 保持的应用无法正常工作此外对网络流量的传输带来了不确定性。针对多容器的 Pod升级 sidecar 容器而导致主容器重建通常是不可接受的。
Advanced StatefulSet 引入了原地升级功能允许在不销毁 pod 的情况下更新容器 image。这样带来的好处是效率和稳定性。效率很明显pod 不需要被重新调度了还是跑在原来的 node一些本地存储 state 还是可以保留。稳定性体现在 IP 保持网络拓扑以及流量结构基本不变稳定性在阿里巴巴及阿里云经济体中一直以来是一个极其重要的指标。
允许最大不可用实例的配置(Max Unavailable)
社区原生的 StatefulSet 在升级的过程中是不允许同时升级多个实例的这主要是为了某些有状态应用需要依次按序升级的需求。但是从阿里巴巴场景以及阿里云容器平台之上的客户了解到许多应用不需要依次按序升级的语义这样带来的问题是效率太低。特别是像阿里巴巴一些应用实例数巨大的场景问题尤其显著。
MaxUnavailable 的功能正是为了解决这个问题它允许应用实例被并行升级且保持始终保持最大不可用的实例数不超过 MaxUnavailable 的限制数。 Broadcast Job像 DaemonSet 那样运行的一次性 Job
Broadcast Job 会在集群中每个node上面跑一个 pod 直至结束。类似于社区的DaemonSet区别在于 DaemonSet 始终保持一个 pod 长服务在每个 node 上跑而 BroadcastJob 中最终这个 pod 会结束。相比 DaemonSetBroadcast 结束后不再占用资源这在某些场景中特别适用比如升级 node 中某些组件检测node 上一些配置是否正确等。 SidecarSet大规模场景下 Sidecar 管理利器
Sidecar 在 Kubernetes 中是一个辅助容器的概念和主容器跑在同一个 pod 中。Sidecar 容器一般是一些基础服务组件如 monitoring 容器log collection 容器等。
在一个公司中主业务容器和基础组件容器通常由不同的团队开发和维护多个团队同时操作和修改同一份 yaml 文件或同一个 API 资源对象时常会产生一些冲突且不便于管理。SidecarSet 的理念在于将主业务容器和辅助容器的运维模式解耦。当业务用户提交应用时不需要显示指定 sidecar 容器由 sidecar 容器相应的团队编写规则负责自动注入。并且在容器运维和升级时候利用 Advanced Statefulset 原地升级的功能业务团队和基础架构团队分别按照自己定义的策略升级各自相应的容器而不需要耦合在一起升级产生不必要的影响。Istio 其实采用类似的思想自动给业务容器注入 sidecar 容器的功能但是其缺乏 sidecar 容器后续升级运维的能力。SidecarSet 有效地把 Sidecar 容器的部署和管理抽象出来。 OpenKruise 正在面向开源社区招募合作伙伴与子项目
Kruise 社区的准则是基于 Kubernetes 的核心技术理念来构建更强大的自动化能力。目前Kruise 正在计划发布更多的 Controller 来覆盖更多的场景和功能比如丰富的发布策略、金丝雀发布、蓝绿发布、分批发布等等。
更为重要的是OpenKruise 是一个 Umbrella 项目OpenKruise 的维护者们正以最开放的姿态面向全球招募合作伙伴和贡献者。没错我们非常期待您能够为 OpenKruise 贡献和共建新的自动化能力或者一起来共同推Kubernetes 云原生应用编排能力的演进与发展。
原文链接 本文为云栖社区原创内容未经允许不得转载。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87001.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!