如何在 K8s 上提供更加完善、高效的部署发布能力?
随着近年来 Kubernetes 逐渐成为事实标准和大量应用的云原生化,却发现Kubernetes 的原生 workload 对大规模化应用的支持并不十分“友好”。经常听到用户和开发者们的抱怨:
发布升级会触发 Pod 删除、重建,带来的问题:
无法保留 IP、Volume(hostPath / emptyDir)等数据;
发布时间较长,一次 Pod 重建涉及重新调度、分配网络/存储、新Node上全量拉镜像等;
同时也增加了 Scheduler、CNI、中间件等诸多组件的压力;
减小 replicas 缩容时,无法指定想删除的 Pod;而如果直接删除 Pod,则又会重新扩一台出来(Deployment);
无法为每个 Pod 独占 PV(Deployment);
应用发布时不能指定灰度升级的数量,无法实现分批发布(Deployment / DaemonSet);
Pod 只能串行 one by one 升级,发布效率极低(StatefulSet);
发布顺序不可控,用户无法指定 Pod 发布的先后顺序。
因此,如何在 Kubernetes 上为应用提供更加完善、高效、灵活的部署发布能力,成为了阿里云探索的目标。
在阿里经济体全面接入云原生的过程中,在这方面做了大量的工作、实现功能更加完备的增强版 workload、并将其开源到社区,现在每一位 Kubernetes 开发者和阿里云上的用户都能很便捷地使用上阿里巴巴内部云原生应用所统一使用的部署发布能力。
什么是 SIG Cloud-Provider-Alibaba?
Cloud Provider SIG 是 Kubernetes 的云厂商兴趣小组,致力于让 Kubernetes 的生态系统往厂商中立的方向演进,他会负责协调不同厂商尽可能以统一的标准来满足开发者的需求。阿里云作为国际有影响力的云厂商,作为国内首个加入 Cloud Provider SIG 的云厂商也在推动 Kubernetes 的进一步标准化,并进一步和横向云厂商如 AWS、Google、Azure 进行技术协同,优化云和 Kubernetes 连接,并统一不同组件的模块化和标准化协议。
如何参与共建?
Kubernetes 作为云原生时代的应用操作系统,已经成为事实上的标准。阿里云在 Kubernetes 实践的过程中开源了众多的项目,如位于底层的计算、存储、网络、安全等相关的 5 个大的类别和上层领域相关的 AI、应用管理、迁移、Serveless 等 5 个大的类别,为用户应用提供全栈式生命周期管理。
5月28日(周四)19:00,阿里云技术专家酒祝与阿里云开发工程师墨封将为大家带来直播分享“如何为云原生应用带来稳定高效的部署能力”
推荐阅读:阿里云MVP乔锐杰撰写的《阿里云运维架构实践秘籍》
点击链接了解详情并购买
更多精彩回顾
书讯 | 5月书讯 | 华章IT图书上新啦!重磅新书在线投喂...
上新 | 周志华领衔撰写,历时4年,宝箱书问世!
书单 | 创建字节跳动之前,张一鸣读过哪些硬核技术书?
干货 | G1垃圾回收算法概述