聚焦日本 Kubernetes 上游培训

我们是日本 Kubernetes 上游培训的组织者。我们的团队由积极为 Kubernetes 做出贡献的成员组成,其中包括担任成员、审查员、批准人和主席等角色的个人。

我们的目标是增加 Kubernetes 贡献者的数量,并促进社区的成长。虽然 Kubernetes 社区友好且协作,但新手可能会觉得贡献的第一步有点挑战性。我们的培训计划旨在降低这一门槛,并创造一个即使是初学者也能顺利参与的环境。

什么是日本 Kubernetes 上游培训?

Upstream Training in 2022

我们的培训始于 2019 年,每年举办 1 到 2 次。最初,Kubernetes 上游培训是作为 KubeCon(Kubernetes 贡献者峰会)的同地活动进行的,但我们启动了日本 Kubernetes 上游培训,旨在通过在日本举办类似活动来增加日本贡献者的数量。

在疫情之前,培训是线下举行的,但自 2020 年以来,培训一直在线上进行。该培训为尚未为 Kubernetes 做出贡献的人们提供以下内容:

  • Kubernetes 社区介绍
  • Kubernetes 代码库概述以及如何创建你的第一个 PR
  • 降低参与门槛的技巧和鼓励,例如语言方面
  • 如何设置开发环境
  • 使用 kubernetes-sigs/contributor-playground 的实践环节

在项目开始时,我们解释了为 Kubernetes 做贡献的重要性以及谁可以贡献。我们强调,为 Kubernetes 做贡献可以让你产生全球性的影响,而且 Kubernetes 社区期待你的贡献!

我们还解释了 Kubernetes 社区、SIGs 和工作组。接下来,我们解释了成员、审查员、批准人、技术负责人和主席的角色和职责。此外,我们介绍了我们主要使用的沟通工具,如 Slack、GitHub 和邮件列表。一些讲日语的人可能会觉得用英语交流是一个障碍。此外,社区新人需要了解沟通在何处以及如何进行。我们强调迈出第一步的重要性,这是我们培训中最关注的方面!

然后,我们介绍 Kubernetes 代码库的结构、主要仓库、如何创建 PR,以及使用 Prow 的 CI/CD 流程。我们详细解释了从创建 PR 到合并的整个过程。

在几次讲座之后,参与者将使用 kubernetes-sigs/contributor-playground 进行实践操作,他们可以在其中创建一个简单的 PR。目标是让参与者体验为 Kubernetes 做贡献的过程。

在项目结束时,我们还详细解释了为 kubernetes/kubernetes 仓库贡献设置开发环境的过程,包括在本地构建代码、高效运行测试和设置集群。

参与者访谈

我们对参加我们培训计划的人进行了采访。我们询问了他们参加的原因、感想以及未来的目标。

望月 敬太(Keita Mochizuki) (NTT DATA Group Corporation)

望月敬太是一位持续为 Kubernetes 及相关项目做出贡献的贡献者。敬太也是容器安全领域的专业人士,最近还出版了一本书。此外,他还提供了一个新贡献者路线图,这对初次贡献的人非常有益。

Junya: 你为什么决定参加 Kubernetes 上游培训?

敬太: 实际上,我参加了两次,分别在 2020 年和 2022 年。2020 年,我刚开始学习 Kubernetes,想尝试参与工作之外的活动,所以在 Twitter 上偶然看到这个活动就报名了。然而,当时我知识储备不多,觉得为开源软件做贡献是遥不可及的事情。结果,我在培训后的理解很浅,带着一种“嗯,好吧”的感觉离开了。

2022 年,我再次参加时,我已经到了认真考虑开始做贡献的阶段。这一次,我做了事先研究,并在讲座中解决了我的问题,这是一次非常有成效的经历。

Junya: 参加后你感觉如何?

敬太: 我觉得这次培训的意义很大程度上取决于参与者的心态。培训本身包括一般性的解释和简单的实践练习,但这并不意味着参加了培训就能立即开始贡献。

Junya: 你贡献的目的是什么?

敬太: 我最初的动机是“深入了解 Kubernetes 并建立业绩记录”,也就是说“贡献本身就是目标”。如今,我也会为了解决我在工作中发现的错误或限制而做贡献。此外,通过贡献,我已经不再犹豫直接从源代码分析未记录的功能。

Junya: 贡献过程中有什么挑战吗?

敬太: 最困难的部分是迈出第一步。为开源软件做贡献需要一定的知识水平,利用像这次培训这样的资源和他人的支持是必不可少的。有一句话让我印象深刻:“一旦你迈出第一步, आगे बढ़ना आसान हो जाता है。” 此外,在将贡献作为我工作的一部分继续下去方面,最具挑战性的是将成果作为成就来展示。为了长期持续贡献,将其与业务目标和战略结合起来非常重要,但上游贡献并不总能带来可以与绩效直接挂钩的即时结果。因此,确保与管理者相互理解并获得他们的支持至关重要。

Junya: 你未来的目标是什么?

敬太: 我的目标是在影响更大的领域做出贡献。到目前为止,我主要通过修复一些小错误来贡献,因为我的主要目标是建立业绩记录,但未来,我想挑战自己,为 Kubernetes 用户带来更大影响,或者解决与我工作相关的问题。最近,我也在努力将我对代码库所做的更改反映到官方文档中,我认为这是实现我目标的又一步。

Junya: 非常感谢!

藤兼 芳树(Yoshiki Fujikane) (CyberAgent, Inc.)

藤兼芳树是 CNCF 沙箱项目 PipeCD 的维护者之一。除了为 PipeCD 的 Kubernetes 支持开发新功能外,藤兼还积极参与社区管理,并在各种技术会议上发表演讲。

Junya: 你为什么决定参加 Kubernetes 上游培训?

芳树: 我参加的时候还是个学生。我只短暂地使用过 EKS,但我认为 Kubernetes 看起来复杂又酷,我对此很感兴趣。那时,开源软件感觉遥不可及,而为 Kubernetes 进行上游开发似乎是一件非常艰巨的事情。虽然我一直对开源软件感兴趣,但我不知道从哪里开始。正是在这个时候,我了解到了 Kubernetes 上游培训,并决定挑战为 Kubernetes 做贡献。

Junya: 参加后你的印象如何?

芳树: 我发现这是一个非常有价值的方式,可以了解成为开源社区一员是什么样的。当时,我的英语水平不是很好,所以获取第一手信息对我来说是一个很大的障碍。Kubernetes 是一个非常大的项目,我对整体结构没有清晰的了解,更不用说贡献需要什么了。上游培训用日语解释了社区结构,并让我获得了实际贡献的实践经验。多亏了我得到的指导,我学会了如何接触第一手资料,并将其作为进一步调查的切入点,这非常有帮助。这次经历让我意识到整理和审查第一手资料的重要性,现在当我遇到感兴趣的事情时,我经常会深入研究 GitHub issues 和文档。因此,虽然我不再为 Kubernetes 本身做贡献,但这次经历为我为其他项目做贡献奠定了坚实的基础。

Junya: 你目前在哪些领域做贡献,还参与了哪些其他项目?

芳树: 现在,我不再从事 Kubernetes 相关工作,而是成为了 CNCF 沙箱项目 PipeCD 的维护者。PipeCD 是一个 CD 工具,支持各种应用平台的 GitOps 风格部署。这个工具最初是 CyberAgent 的一个内部项目。由于不同团队采用不同的平台,PipeCD 的开发旨在提供一个具有统一用户体验的统一 CD 平台。目前,它支持 Kubernetes、AWS ECS、Lambda、Cloud Run 和 Terraform。

Junya: 你在 PipeCD 团队中扮演什么角色?

芳树: 我在团队中全职负责改进和开发 Kubernetes 相关的功能。由于我们在内部将 PipeCD 作为 SaaS 提供,我的主要工作是增加新功能和改进现有功能,作为支持的一部分。除了代码贡献,我还通过在各种活动中发表演讲和管理社区会议来为 PipeCD 社区的成长做出贡献。

Junya: 你能解释一下你在 Kubernetes 方面正在进行什么样的改进或开发吗?

芳树: PipeCD 支持 Kubernetes 的 GitOps 和渐进式交付,所以我参与了这些功能的开发。最近,我一直在开发能够简化跨多个集群部署的功能。

Junya: 在为开源软件做贡献时,你遇到过什么挑战吗?

芳树: 一个挑战是在满足用户用例的同时,开发保持通用性的功能。当我们在运营内部 SaaS 时收到功能请求时,我们首先会考虑添加功能来解决这些问题。同时,我们希望 PipeCD 作为一个开源工具被更广泛的受众使用。所以,我总是在思考一个为某一用例设计的功能是否可以应用于另一个用例,以确保软件保持灵活性和广泛的可用性。

Junya: 你未来的目标是什么?

芳树: 我想专注于扩展 PipeCD 的功能。目前,我们正在以“One CD for All”的口号下开发 PipeCD。正如我之前提到的,它支持 Kubernetes、AWS ECS、Lambda、Cloud Run 和 Terraform,但还有许多其他平台,未来也可能出现新的平台。因此,我们目前正在开发一个插件系统,允许用户自行扩展 PipeCD,我想推动这项工作。我也在为 Kubernetes 中的多集群部署开发功能,并旨在继续做出有影响力的贡献。

Junya: 非常感谢!

Kubernetes 上游培训的未来

我们计划继续在日本举办 Kubernetes 上游培训,并期待迎接许多新的贡献者。我们的下一期培训计划于 11 月底在 CloudNative Days Winter 2024 期间举行。

此外,我们的目标是将这些培训项目不仅在日本,而且在全球范围内推广。今年,Kubernetes 庆祝了其 10 周年,为了让社区变得更加活跃,全球各地的人们继续贡献至关重要。虽然上游培训已经在几个地区举行,但我们的目标是将其带到更多地方。

我们希望随着越来越多的人加入 Kubernetes 社区并做出贡献,我们的社区将变得更加充满活力!