这篇文章已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变得不正确。
Kubernetes 基础设施工作组简介
作者:Kiran "Rin" Oliver,Kubernetes 上游营销团队的讲述者
Kubernetes 基础设施工作组简介
欢迎来到介绍 K8s-基础设施工作组的新系列的第一部分!
当 Kubernetes 于 2014 年成立时,Google 承担了构建和维护使项目顺利运行所需的基础设施的任务。这些工具本身是开源的,但用于运行基础设施的 Google Cloud Platform 项目是内部专用的,这使得贡献者无法提供帮助。2018 年 8 月,Google 向云原生计算基金会(Cloud Native Computing Foundation,CNCF)拨款 900 万美元用于 Kubernetes 项目的运营。这背后的理念是,像 Kubernetes 这样的项目应该由社区本身维护和运营,而不是由单个供应商维护和运营。
一群社区成员热情地承担了合作推进的重任,意识到有更正式的基础设施是必要的。他们作为一个跨团队工作组联合起来,其所有权跨越多个 Kubernetes SIG(架构、贡献者体验、发布和测试)。Aaron Crickenberger 与 Kubernetes 指导委员会合作,促成了工作组的成立,并与长期合作者 Davanum Srinivas 一起起草了一份章程,到 2019 年,该工作组正式成立。
K8s-基础设施工作组解决什么问题?
该团队承担了管理支撑 Kubernetes 作为项目的许多可变基础设施的复杂任务。
需求始于必要性:他们着手解决的第一个问题是将项目的所有基础设施从 Google 拥有的基础设施完全迁移到云原生计算基金会(CNCF)。这样做是为了使项目能够自我维持,而不需要任何个人供应商的直接帮助。这可以分解为以下几个方面:
- 确定 Kubernetes 项目依赖哪些基础设施。
- 正在运行哪些应用程序?
- 它在哪里运行?
- 它的源代码在哪里?
- 什么是自定义构建的?
- 什么是现成的?
- 哪些服务相互依赖?
- 如何管理?
- 记录关于如何作为社区运行基础设施的指南和策略。
- 我们的访问策略是什么?
- 我们如何跟踪账单?
- 我们如何确保隐私和安全?
- 将基础设施按原样迁移到 CNCF。
- 迁移的阻力最小的路径是什么?
- 改进基础设施的持久性状态。
- 从人工运行脚本转向更自动化的 GitOps 模型(一切皆 YAML!)。
- 支持希望开发新基础设施的社区成员
- 记录我们工作的状态,更好地定义目标和完成指标。
- 将这项工作传达给我们的庞大贡献者社区所需的项目和计划管理
K8s-基础设施的挑战是文档
该工作组试图解决的最关键问题是,该项目完全由志愿者领导。这导致参与该项目的贡献者、主席和其他人员很快就过度安排了日程。因此,文档和组织等某些领域经常缺乏信息,并且取得进展所需的时间比该小组希望完成的时间要长。
正在迁移的一些基础设施已经有一段时间没有更新了,其原始作者或直接责任人已经不再从事 Kubernetes 的工作。虽然从代码能够长期不经修改运行的角度来看,这很棒,但从尝试迁移的角度来看,这使得难以确定如何操作这些组件,以及如何有效地将这些基础设施组件移动到它们需要去的地方。
文档的缺乏正在由小组成员 Bart Smykla 迎头解决,但是肯定需要其他人的支持。如果您正在寻找一种参与并学习基础设施的方法,您可以成为工作组的新贡献者!
庆祝工作组的一些胜利
该团队在过去几个月中取得了值得庆祝的进展。
- K8s-基础设施工作组发布了一份自动化的账单报告,他们每次会议开始时都会作为一个小组进行审查。
- k8s.io 和 kubernetes.io 的 DNS 也完全由社区拥有,社区成员可以提交问题来管理记录。
- 容器注册表 registry.k8s.io 也完全由社区拥有,可供所有 Kubernetes 子项目使用。注意: 容器注册表已更改为 registry.k8s.io。更新于 2022 年 8 月 25 日。
- 负责将 k8s.io/kubernetes/staging 存储库发布到其自己的顶级存储库的 Kubernetes 发布机器人 (例如:kubernetes/api)在社区拥有的集群上运行。
- gcsweb.k8s.io 服务用于为 Kubernetes 工件提供对 GCS 存储桶的匿名访问,该服务在社区拥有的集群上运行。
- 还有一个自动化的流程来推广我们所有的容器镜像。这包括一个完全文档化的基础设施,由 Kubernetes 社区管理,并具有用于配置权限的自动化流程。
这些只是 K8s 基础设施工作组目前正在发生的一些事情。
如果您有兴趣参与其中,请务必加入 #wg-K8s-infra Slack 频道。会议时长 60 分钟,每隔一个星期三太平洋时间上午 8:30/UTC 时间 16:30 举行。
加入以帮助编写文档,留下来了解支持 Kubernetes 社区的强大基础设施。