聚焦 SIG etcd
在本次 SIG etcd 焦点访谈中,我们与 James Blair、Marek Siarkowicz、Wenjia Zhang 和 Benjamin Wang 进行了交谈,以了解更多关于这个 Kubernetes 特别兴趣小组(SIG)的信息。
引入 SIG etcd
Frederico: 大家好,谢谢你们抽出时间!让我们从自我介绍开始,请问你们能否简单介绍一下自己、你们的角色以及如何参与到 Kubernetes 中来的?
Benjamin: 大家好,我是 Benjamin。我是 SIG etcd 技术负责人,也是 etcd 维护者之一。我为 VMware 工作,VMware 现在是 Broadcom 集团的一部分。我参与到 Kubernetes、etcd 和 CSI(容器存储接口)中来,既有工作原因,也有对开源的巨大热情。自 2020 年以来,我一直从事 Kubernetes 和 etcd(以及 CSI)相关工作。
James: 大家好,我是 James,SIG etcd 的联合主席兼 etcd 维护者。我在 Red Hat 工作,是一名专家架构师,帮助人们采用云原生技术。我于 2019 年参与到 Kubernetes 生态系统中。在 2022 年底左右,我注意到 etcd 社区和项目需要帮助,于是便开始尽我所能地贡献。我们社区有一句话说:“你因技术而来,为社群而留”。对我来说,这绝对是真实的,到目前为止,这是一段美妙的旅程,我很期待继续支持我们的社区向前发展。
Marek: 大家好,我是 Marek,SIG etcd 的负责人。在 Google,我领导 GKE etcd 团队,确保所有 GKE 用户获得稳定可靠的体验。我的 Kubernetes 之旅始于 SIG Instrumentation,在那里我创建并领导了 Kubernetes 结构化日志(Structured Logging)工作。
我仍然是 Kubernetes Metrics Server 的主要项目负责人,它为 Kubernetes 中的自动扩缩容提供关键信号。我大约三年前开始参与 etcd 工作,就在 3.5 版本发布前后。我们当时面临一些挑战,但我很高兴看到 etcd 现在达到了前所未有的扩展性和可靠性,贡献数量也创下了项目历史新高。我对分布式系统、极限编程和测试充满热情。
Wenjia: 大家好,我是 Wenjia,SIG etcd 的联合主席兼 etcd 维护者之一。我在 Google 工作,是一名工程经理,负责 GKE(Google Kubernetes Engine)和 GDC(Google Distributed Cloud)相关工作。自 Kubernetes v1.10 和 etcd v3.1 版本发布以来,我一直在开源 Kubernetes 和 etcd 领域工作。我参与 Kubernetes 是因为我的工作,但让我留在这个领域的是容器编排技术的魅力,更重要的是,还有这个卓越的开源社区。
成为 Kubernetes 特别兴趣小组(SIG)
Frederico: 好的,谢谢。我想从这个 SIG 本身的起源开始:SIG etcd 是一个非常新成立的 SIG,你们能否快速回顾一下它的历史和创建原因?
Marek: 当然可以!成立 SIG etcd 是因为 etcd 是 Kubernetes 的一个关键组件,充当其数据存储。然而,etcd 当时正面临维护者更迭和可靠性问题等挑战。创建一个专门的 SIG 使得我们能够专注于解决这些问题,改进开发和维护流程,并确保 etcd 与云原生生态同步发展。
Frederico: 那么,成为一个 SIG 是否如预期般顺利?或者说,刚才你们描述的那些动机是否得到了解决,解决了多少?
Marek: 总的来说,这是一个积极的变化。成为 SIG 为 etcd 的开发带来了更多的结构和透明度。我们采用了 Kubernetes 的流程,例如 KEPs(Kubernetes 增强提案)和 PRRs(生产就绪审查),这改进了我们的特性开发和发布周期。
Frederico: 除了这些之外,你们会特别指出成为 SIG 带来的主要益处是什么?
Marek: 对我来说,最大的益处是采用了 Kubernetes 的测试基础设施,比如 Prow 和 TestGrid 等工具。对于像 etcd 这样的大型项目,与默认的 GitHub 工具相比,这些工具无可比拟。拥有已知、易用、清晰的工具对 etcd 来说是一个重大的推动,因为它使得 Kubernetes 的贡献者也更容易参与到 etcd 的贡献中来。
Wenjia: 完全同意,尽管挑战依然存在,但 SIG 结构为解决这些问题提供了坚实的基础,并确保 etcd 作为 Kubernetes 生态系统的关键组件能够持续成功。
我想强调的 SIG etcd 成功的另一个关键方面是它对社区的积极影响。Kubernetes 的 SIG 结构为 etcd 贡献者创造了一个受欢迎的环境,带来了更广泛的 Kubernetes 社区的参与度提升。我们与其他 SIG 进行了更紧密的协作,例如 SIG API Machinery、SIG Scalability、SIG Testing、SIG Cluster Lifecycle 等等。
这种协作有助于确保 etcd 的开发符合更广泛的 Kubernetes 生态系统的需求。SIG etcd 和 SIG Cluster Lifecycle 共同努力成立了etcd Operator 工作组,这体现了这种成功的协作,展示了双方在改进 etcd 在 Kubernetes 中的运维方面的共同承诺。
Frederico: 既然提到了协作,你们最近几个月在贡献者和社区参与度方面是否看到了变化?
James: 是的 -- 如我们的独立 PR 作者数据所示,我们在三月份创下了历史新高,并且呈现积极的趋势。

此外,观察我们的跨所有 etcd 项目仓库的总贡献,我们也观察到积极的趋势,显示 etcd 项目活动正在复苏。

前进的道路
Frederico: 这非常有说服力,谢谢。就近期而言,SIG etcd 的当前优先事项是什么?
Marek: 可靠性永远是首要考虑 -- 我们需要确保 etcd 坚如磐石。我们还在努力使 etcd 对运维人员来说更易用、更易于管理。我们还着眼于将 etcd 打造成一个可行的独立基础设施管理解决方案,而不仅仅用于 Kubernetes。哦,当然还有扩展性 -- 我们需要确保 etcd 能够应对云原生世界不断增长的需求。
Benjamin: 我同意可靠性应该始终是我们的首要指导原则。我们不仅要确保正确性,还要确保兼容性。此外,我们应该不断努力改进 etcd 的可理解性和可维护性。我们的重点应该放在解决社区最关心的痛点上。
Frederico: 有没有你们会紧密合作的特定 SIG?
Marek: SIG API Machinery,当然 -- 他们负责 etcd 存储的数据结构,所以我们不断合作。还有 SIG Cluster Lifecycle -- etcd 是 Kubernetes 集群的关键组成部分,所以我们在新成立的 etcd operator 工作组上进行协作。
Wenjia: 除了 Marek 上面提到的 SIG API Machinery 和 SIG Cluster Lifecycle 之外,SIG Scalability 和 SIG Testing 也是我们紧密合作的另一个小组。
Frederico: 更笼统地说,在不断演进的云原生生态中,你们认为 SIG etcd 面临的主要挑战有哪些?
Marek: 嗯,处理关键数据时,可靠性始终是一个挑战。云原生世界发展得如此之快,以至于扩展以满足这些需求是一个持续的努力。
参与其中
Frederico: 我们的谈话即将结束,但对于那些对 etcd 感兴趣的人,他们如何参与进来?
Marek: 我们非常欢迎他们!最好的开始方式是参加我们的 SIG etcd 会议,关注 etcd-dev 邮件列表上的讨论,并查看我们的 GitHub issue。我们一直在寻找愿意审查提案、测试代码和贡献文档的人员。
Wenjia: 我喜欢这个问题 😀。对于有兴趣为 SIG etcd 做贡献的人来说,有多种方式可以参与进来并发挥作用。以下是你可以提供帮助的一些关键领域:
代码贡献:
- Bug 修复:解决 etcd 代码库中的现有问题。从标记为 "good first issue" 或 "help wanted" 的 issue 开始,找到适合新手的任务。
- 特性开发:为新特性和增强功能的开发做贡献。查看 etcd 路线图和讨论,了解正在计划的工作以及你的技能可能在哪里发挥作用。
- 测试和代码审查:通过编写测试、审查代码变更和提供反馈来帮助确保 etcd 的质量。
- 文档:通过添加新内容、澄清现有信息或修复错误来改进 etcd 的文档。清晰全面的文档对用户和贡献者至关重要。
- 社区支持:在论坛、邮件列表或 Slack 频道上回答问题。帮助他人理解和使用 etcd 是一种有价值的贡献。
入门:
- 加入社区:首先加入 etcd 的 Slack 社区,参加 SIG 会议,并关注邮件列表。这将帮助你熟悉项目、其流程和相关人员。
- 寻找导师:如果你是开源或 etcd 的新手,可以考虑寻找一位能指导和支持你的导师。敬请期待!我们的第一批导师计划非常成功。新一轮导师计划即将启动。
- 小处着手:不要害怕从小处着手贡献。即使是修正文档中的一个错别字或提交一个简单的错误修复,也是参与的绝佳方式。
通过为 etcd 做贡献,你不仅能帮助改进云原生生态系统中一个关键组件,还能获得宝贵的经验和技能。所以,赶紧行动起来,开始贡献吧!
Frederico:太好了,谢谢。最后,您有什么建议想给其他新成立的 SIG 吗?
Marek:当然!我的建议是拥抱大型社区已有的流程,优先与其他 SIG 协作,并专注于建设一个强大的社区。
Wenjia:这里有一些我在自己的开源旅程中发现非常有用的建议
- 保持耐心:开源开发可能需要时间。如果你的贡献没有立即被接受,或者遇到了挑战,请不要灰心。
- 互相尊重:etcd 社区重视协作和尊重。请留意他人的意见,共同努力实现共同目标。
- 乐在其中:为开源做贡献应该是件愉快的事。找到你感兴趣的领域,用你觉得有成就感的方式去贡献。
Frederico:这是结束本次专题的绝佳方式,谢谢大家!
如需更多信息和资源,请参考
- etcd 网站:https://etcd.io/
- etcd GitHub 仓库:https://github.com/etcd-io/etcd
- etcd 社区:https://etcd.io/community/