聚焦 SIG etcd

在本次 SIG etcd 聚焦中,我们与 James BlairMarek SiarkowiczWenjia ZhangBenjamin Wang 进行了交谈,以更多地了解这个 Kubernetes 特别兴趣小组。

介绍 SIG etcd

Frederico: 大家好,感谢你们抽出时间!我们先来做个介绍,能请你们谈谈自己、你们的角色以及你们是如何参与到 Kubernetes 中的吗?

Benjamin: 大家好,我是 Benjamin。我是 SIG etcd 的技术负责人(Tech Lead)和 etcd 的维护者之一。我在 VMware 工作,该公司隶属于 Broadcom 集团。我参与 Kubernetes、etcd 和 CSI(容器存储接口)是出于工作需要,也是因为对开源的极大热情。自 2020 年以来,我一直致力于 Kubernetes 和 etcd(以及 CSI)的工作。

James: 大家好,我是 James,SIG etcd 的联合主席和 etcd 的维护者。我在 Red Hat 担任专家架构师,帮助人们采用云原生技术。我从 2019 年开始参与 Kubernetes 生态系统。大约在 2022 年底,我注意到 etcd 社区和项目需要帮助,于是开始尽我所能地做出贡献。我们的社区中有一句话:“你因技术而来,为社群而留”(you come for the technology, and stay for the people):对我来说,这绝对是真实的。到目前为止,这是一段美妙的旅程,我很高兴能够支持我们的社区向前发展。

Marek: 大家好,我是 Marek,SIG etcd 的负责人。在 Google,我领导 GKE etcd 团队,确保为所有 GKE 用户提供稳定可靠的体验。我的 Kubernetes 之旅始于 SIG Instrumentation,在那里我创建并领导了 Kubernetes 结构化日志工作
我仍然是 Kubernetes Metrics Server 项目的主要负责人,该项目为 Kubernetes 中的自动扩缩容提供关键信号。我从 3 年前开始从事 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 Enhancement Proposals)和 PRRs(Production Readiness Reviews),这改进了我们的特性开发和发布周期。

Frederico: 除此之外,你认为成为 SIG 带来的最大好处是什么?

Marek: 对我来说,最大的好处是采用了 Kubernetes 的测试基础设施,比如 ProwTestGrid 这样的工具。对于像 etcd 这样的大型项目来说,这些工具与默认的 GitHub 工具完全没有可比性。拥有众所周知、易于使用、清晰的工具对 etcd 来说是一个巨大的推动,因为它使得 Kubernetes 的贡献者也更容易帮助 etcd。

Wenjia: 完全同意。虽然挑战依然存在,但 SIG 的结构为解决这些问题提供了一个坚实的基础,并确保 etcd 作为 Kubernetes 生态系统关键组件的持续成功。

对社区的积极影响是 SIG etcd 成功的另一个关键方面,我想强调一下。Kubernetes SIG 的结构为 etcd 贡献者创造了一个受欢迎的环境,从而增加了更广泛的 Kubernetes 社区的参与度。我们与其他 SIG(如 SIG API MachinerySIG ScalabilitySIG TestingSIG Cluster Lifecycle 等)的合作也更加紧密。

这种合作有助于确保 etcd 的发展与更广泛的 Kubernetes 生态系统的需求保持一致。在 SIG etcd 和 SIG Cluster Lifecycle 的共同努力下成立的 etcd Operator 工作组 就是这种成功合作的典范,表明了我们共同致力于改善 etcd 在 Kubernetes 中的运维方面的承诺。

Frederico: 既然你提到了合作,最近几个月在贡献者和社区参与方面有什么变化吗?

James: 是的——正如我们的独立 PR 作者数据所示,我们在三月份达到了历史新高,并且正朝着积极的方向发展。

Unique PR author data stats

此外,看看我们所有 etcd 项目仓库的总体贡献,我们也观察到了一个积极的趋势,显示出 etcd 项目活动的复苏。

Overall contributions stats

前方的道路

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 issues。我们一直在寻找愿意审查提案、测试代码和贡献文档的人。

Wenjia: 我喜欢这个问题 😀。对于有兴趣为 SIG etcd 做出贡献的人来说,有很多方法可以参与进来并发挥作用。以下是你可以提供帮助的一些关键领域:

代码贡献:

  • 修复 Bug:解决 etcd 代码库中现有的问题。可以从标记为 “good first issue” 或 “help wanted” 的问题开始,找到适合新手的任务。
  • 特性开发:为新特性和增强功能的开发做出贡献。查看 etcd 的路线图和讨论,了解正在计划的内容以及你的技能可能适合的地方。
  • 测试和代码审查:通过编写测试、审查代码更改和提供反馈来帮助确保 etcd 的质量。
  • 文档:通过添加新内容、澄清现有信息或修复错误来改进 etcd 的文档。清晰全面的文档对用户和贡献者至关重要。
  • 社区支持:在论坛、邮件列表或 Slack 频道上回答问题。帮助他人理解和使用 etcd 是一项宝贵的贡献。

入门:

  • 加入社区:首先加入 etcd 在 Slack 上的社区,参加 SIG 会议,并关注邮件列表。这将帮助你熟悉项目、其流程以及参与的人员。
  • 寻找导师:如果你是开源或 etcd 的新手,可以考虑找一位导师来指导你并提供支持。敬请关注!我们的第一期导师计划非常成功。我们将很快推出新一轮的导师计划。
  • 从小处着手:不要害怕从小的贡献开始。即使是修复文档中的一个拼写错误或提交一个简单的 bug 修复,也是参与进来的好方法。

通过为 etcd 做贡献,你不仅能帮助改进云原生生态系统的一个关键部分,还能获得宝贵的经验和技能。所以,加入我们,开始贡献吧!

Frederico: 非常好,谢谢你们。最后,你有什么建议想给其他新成立的 SIG 吗?

Marek: 当然!我的建议是拥抱更广泛社区的既定流程,优先与其他 SIG 合作,并专注于建立一个强大的社区。

Wenjia: 这里有一些我在我的开源之旅中发现非常有帮助的技巧:

  • 保持耐心:开源开发可能需要时间。如果你的贡献没有被立即接受,或者你遇到了挑战,不要气馁。
  • 保持尊重:etcd 社区重视合作和尊重。请注意他人的意见,共同努力实现共同目标。
  • 享受过程:为开源做贡献应该是一件愉快的事情。找到你感兴趣的领域,并以你认为有成就感的方式做出贡献。

Frederico: 这是结束这次聚焦访谈的绝佳方式,谢谢大家!


欲了解更多信息和资源,请查看:

  1. etcd 网站: https://etcd.io/
  2. etcd GitHub 仓库: https://github.com/etcd-io/etcd
  3. etcd 社区: https://etcd.io/community/