Airbnb如何简化Kubernetes工作流程?
极客时间编辑部
讲述:杜力大小:2.19M时长:02:23
最近,Airbnb 的架构工程师梅拉尼·凯布拉(Melanie Cebula)在伦敦 QCon 大会上做了演讲,她谈到 Airbnb 采用了内部工具和策略以支持 1000 多位工程师(以每天平均大约 500 个部署的频率)并发配置,以及部署 250 多个关键服务给 Kubernetes。一个关键的推动因素是,使用标准化的环境和命名空间(以及尽可能的自动验证)从更高级的原语中抽象和生成 Kubernetes 配置层。
据介绍,kube-gen 是 Airbnb 的内部工具,其可以获取服务的参数(在单个 YAML 文件中定义),并通过添加所有必要的样板配置来生成完整的 Kubernetes 服务配置。它的目标之一是,通过使用 YAML 模板进行服务配置来减少潜在错误的影响范围。
kube-gen 的另一个主要目标是,抽象出 Kubernetes 配置和工具复杂性,以便使工程团队能够保留其服务部署的所有权,并具备必要的隔离级别(部分基于标准化环境名字,由自动生成的命名空间保证),但是没有过长的学习曲线。
促进同质并易于发展的服务配置的进一步策略包括:在一个命令中创建一个新的服务框架存储库,在构建和部署配置文件时验证,并且对(生成的)服务配置进行版本控制。
此外,k 是 Airbnb 的另一个内部工具。该工具的目标是自动化通用工作流,从而通过抽象一些 Kubernetes 工具的复杂性来简化和标准化工程工作。但是,它还让开发人员和基础设施工程师们使用了一种共同的语言,并使用相同的工具以增强协作。
据介绍,一个典型的工作流程是从 k generate 生成 Kubernetes 文件开始,然后,k build 构建 Docker 镜像并推送到私有仓库,最后,k deploy 来创建 Kubernetes 命名空间并应用 Kubernetes 文件,等待最终部署状态。无论在哪种环境中,服务的构建和部署都是采用同样的方式。
最后,凯布拉提到了 Airbnb 的 Kubernetes 采用过程中一些仍然存在的挑战,特别是与数千现有服务的迁移相关的,这些服务要求更好的多集群支持和扩展(一些服务要用多达数百个副本),处理更多具有高内存需求的有状态服务,以及用自定义控制器将所有配置迁移至 GitOps 工作流模型。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论