在ArchSummit深圳2019大会上,孙健波讲师做了《参数化陷阱与 DSL 缺陷:K8s 声明式应用管理的实践与教训》主题演讲,主要内容如下。
演讲简介:
问题背景:阿里巴巴容器平台团队担负着阿里内部各种应用的云原生化工作,同时也需要解决一系列云上配置、部署、扩缩容、安全等复杂问题。在这个规模化的场景中,面对成千上万个散落在不同团队、不同开发机上的 YAML 文件,我们平常所熟知的 Kubernetes 声明式 API 和声明式应用管理机制是否依然适用?像 Helm 这样的项目是否能帮助我们解决大量应用的配置与管理问题?
解决方案:阿里巴巴为了能够解决规模化场景中 Kubernetes 应用管理与维护的复杂性问题,围绕着 Kubernetes API 构建了一套对应用进行标准化描述、定制、自动化管理的完整的云原生应用管理技术体系。这个方案的特点包括:
原生围绕 Kubernetes 的声明式 API 构建,不做 PaaS,不封装 API;
应用具备互联网场景下的、一定程度的自运维与自愈能力;
方便用户进行 PATCH 化的应用定制;
不同应用要有统一的、标准化的定义方式;
整套流程能够无缝与周边生态能力,包括安全、监控、CI/CD、 GitOps 等。
方案介绍:利用 Helm Charts 进行标准化的应用描述, 将海量 YAML 文件托管于云原生应用中心(App Hub);使用 Overlay 的方式进行 YAML 文件 PATCH 化定制,实现 YAML 文件复用、Rebase 与变更追踪;使用 Kubernetes 自动化工具 Kruise 代替社区 Deployment 进行阿里内部的应用管理,插件化的实现“原地升级”等互联网场景中的重要需求。
实施后效果说明:阿里规模化场景下的应用管理紧紧有条,大幅提高了开发效率和软件质量。
演讲提纲:
Kubernetes 声明式 API 与声明式应用管理机制解读
为什么需要应用标准?如何在不做 PaaS、不封装 API 的前提下实现这个标准?
应用在互联网场景下的自运维与自愈能力如何实现?比如:原地升级?
什么是 Kubernetes 应用管理的参数化陷阱与 DSL 缺陷?为什么我们要让用户进行 PATCH 化应用定制?
与周边系统如 CI/CD、 GitOps 等集成举例。
前沿亮点:
阿里巴巴在规模化场景下实践云原生应用的一些经验和教训;
如何避开常见 Kubernetes 应用管理方式带来的参数化陷阱与 DSL 缺陷;
Kubernetes 声明式 API 与声明式应用管理的设计内涵。
讲师介绍:
孙健波
阿里巴巴集团 技术专家
Kubernetes 项目社区成员。2015 年参与编写《Docker 容器与容器云》技术书籍。曾任职于七牛,参与过时序数据库、流式计算、日志平台等项目相关应用上云过程。
完整演讲 PPT 下载链接:
https://archsummit.infoq.cn/2019/shenzhen/schedule
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论