本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。

K8s-Infrastructure 工作组简介

作者Kiran "Rin" Oliver,Kubernetes 上游市场团队讲述者

K8s-Infrastructure 工作组简介

欢迎来到 K8s-Infrastructure 工作组系列介绍的第一部分!

Kubernetes 于 2014 年成立时,Google 承担了构建和维护项目顺利运行所需基础设施的任务。工具本身是开源的,但用于运行基础设施的 Google Cloud Platform 项目是内部专用的,这使得贡献者无法提供帮助。2018 年 8 月,Google 授予 Cloud Native Computing Foundation 900 万美元积分,用于 Kubernetes 的运营。这背后的理念是,像 Kubernetes 这样的项目应该由社区本身而不是由单一供应商来维护和运营。

一群社区成员积极地承担了合作推进的职责,他们意识到需要更正式的基础设施。他们作为一个跨团队工作组,其所有权涵盖多个 Kubernetes SIG(架构、贡献者体验、发布和测试)。Aaron Crickenberger 与 Kubernetes 指导委员会合作,促成了工作组的成立,并与长期合作者Davanum Srinivas共同起草了章程,到 2019 年,该工作组正式成立。

K8s-Infrastructure 工作组解决了哪些问题?

该团队承担了管理支撑 Kubernetes 项目的复杂基础设施中许多动态部分的任务。

需求始于必要性:他们解决的第一个问题是将项目所有基础设施从 Google 拥有的基础设施完全迁移到 Cloud Native Computing Foundation (CNCF)。这样做是为了使项目能够自我维持,而无需任何单个供应商的直接帮助。具体如下:

  • 识别 Kubernetes 项目所依赖的基础设施。
    • 正在运行哪些应用程序?
    • 它在哪里运行?
    • 其源代码在哪里?
    • 哪些是定制构建的?
    • 哪些是现成的?
    • 哪些服务相互依赖?
    • 如何管理?
  • 记录作为社区运行基础设施的指导方针和政策。
    • 我们的访问政策是什么?
    • 我们如何跟踪计费?
    • 我们如何确保隐私和安全?
  • 将基础设施原样迁移到 CNCF。
    • 迁移阻力最小的路径是什么?
  • 改进基础设施的可持续性状态。
    • 从人工运行脚本转向更自动化的 GitOps 模型(一切皆 YAML!)
    • 支持希望开发新基础设施的社区成员
  • 记录我们工作进展的状态,更好地定义目标和完成指标。

K8s-Infrastructure 的挑战是文档

工作组试图解决的最关键问题是该项目完全由志愿者领导。这导致贡献者、主席和参与项目的其他人很快变得日程排满。因此,文档和组织等某些领域经常缺乏信息,并且进展所需的时间比该组希望的要长。

正在迁移的一些基础设施已经有一段时间没有更新了,其原始作者或直接负责人已经不再从事 Kubernetes 的工作。虽然从代码能够长时间运行未触及的角度来看,这很好,但从尝试迁移的角度来看,这使得很难确定如何操作这些组件以及如何有效地移动这些基础设施部件。

文档缺失的问题正由小组成员Bart Smykla直接解决,但肯定需要其他人提供支持。如果您正在寻找一种参与并学习基础设施的方法,您可以成为工作组的新贡献者!

庆祝工作组的一些成就

团队在过去几个月里取得了值得庆祝的进展。

  • K8s-Infrastructure 工作组发布了一份自动化计费报告,他们每次会议都以审查这份报告开始。
  • k8s.io 和 kubernetes.io 的 DNS 也完全社区所有,社区成员可以提交问题来管理记录。
  • 容器注册表 registry.k8s.io 也完全由社区拥有,可供所有 Kubernetes 子项目使用。注意:容器注册表已更改为 registry.k8s.io。于 2022 年 8 月 25 日更新。
  • 负责将 k8s.io/kubernetes/staging 存储库发布到其自己的顶级存储库(例如:kubernetes/api)的 Kubernetes 发布机器人在社区拥有的集群上运行。
  • 用于提供匿名访问 GCS 存储桶以获取 Kubernetes 制品的 gcsweb.k8s.io 服务在社区拥有的集群上运行。
  • 还有一个自动化过程,用于推广我们所有的容器镜像。这包括由 Kubernetes 社区管理的、完全文档化的基础设施,以及用于提供权限的自动化流程。

这些只是 K8s-Infrastructure 工作组目前正在进行的一些事情。

如果您有兴趣参与,请务必加入 #wg-K8s-infra Slack 频道。会议时长 60 分钟,每隔一周的周三太平洋时间上午 8:30 / 世界标准时间 16:30 举行。

加入我们以帮助文档工作,并留下来了解支持 Kubernetes 社区的卓越基础设施。