聚焦日本 Kubernetes 上游培训
我们是日本 Kubernetes 上游培训的组织者。我们的团队由积极为 Kubernetes 做出贡献的成员组成,包括担任成员、审查员、批准者和主席等角色的个人。
我们的目标是增加 Kubernetes 贡献者的数量,并促进社区的成长。虽然 Kubernetes 社区友好且协作,但新手可能会觉得贡献的第一步有点挑战。我们的培训计划旨在降低这一门槛,并创建一个即使是初学者也可以顺利参与的环境。
什么是日本 Kubernetes 上游培训?
我们的培训始于 2019 年,每年举办 1 到 2 次。最初,Kubernetes 上游培训是作为 KubeCon(Kubernetes 贡献者峰会)的联合活动举办的,但我们启动了日本 Kubernetes 上游培训,旨在通过在日本举办类似的活动来增加日本贡献者。
在疫情之前,培训是面对面进行的,但自 2020 年以来,培训已在线进行。该培训为尚未为 Kubernetes 做出贡献的人员提供以下内容
- Kubernetes 社区简介
- Kubernetes 代码库概述以及如何创建您的第一个 PR
- 降低参与障碍的技巧和鼓励,例如语言
- 如何设置开发环境
- 使用 kubernetes-sigs/contributor-playground 的动手环节
在项目开始时,我们会解释为什么为 Kubernetes 做出贡献很重要以及谁可以做出贡献。我们强调,为 Kubernetes 做出贡献可以让您产生全球性的影响,并且 Kubernetes 社区期待您的贡献!
我们还会解释 Kubernetes 社区、SIG 和工作组。接下来,我们解释成员、审查员、批准者、技术主管和主席的角色和职责。此外,我们还介绍了我们主要使用的通信工具,如 Slack、GitHub 和邮件列表。一些说日语的人可能会觉得用英语交流是一个障碍。此外,那些刚接触社区的人需要了解在哪里以及如何进行交流。我们强调迈出第一步的重要性,这是我们在培训中最关注的方面!
然后,我们会回顾 Kubernetes 代码库的结构、主要存储库、如何创建 PR 以及使用 Prow 的 CI/CD 流程。我们会详细解释从创建 PR 到将其合并的过程。
经过几节课的讲解,参与者可以动手使用 kubernetes-sigs/contributor-playground 进行实践,他们可以在其中创建一个简单的 PR。目标是让参与者了解为 Kubernetes 做出贡献的过程。
在项目结束时,我们还会详细解释如何设置用于为 kubernetes/kubernetes
存储库做出贡献的开发环境,包括在本地构建代码、高效运行测试以及设置集群。
参与者访谈
我们对参加过我们培训计划的人员进行了采访。我们询问了他们加入的原因、他们的印象以及他们未来的目标。
望月圭太(NTT DATA 集团公司)
望月圭太是一位持续为 Kubernetes 及相关项目做出贡献的贡献者。圭太也是容器安全方面的专业人士,最近出版了一本书。此外,他还提供了一个 新贡献者路线图,这对那些刚开始做出贡献的人非常有益。
纯也:您为什么决定参加 Kubernetes 上游培训?
圭太:实际上,我参加了两次,分别是在 2020 年和 2022 年。2020 年,我刚开始学习 Kubernetes,并想尝试参与工作之外的活动,所以我偶然在 Twitter 上看到活动后就报名了。但是,当时我没有太多知识,并且为 OSS 做出贡献感觉遥不可及。结果,我接受培训后的理解很肤浅,我带着一种“嗯,好吧”的感觉离开了。
2022 年,当我已经认真考虑开始贡献时,我又参加了一次。这一次,我做了事先研究,并且能够在讲座中解决我的问题,这使得它成为一次非常有成效的体验。
纯也:参加后您有什么感觉?
圭太:我觉得这次培训的意义很大程度上取决于参与者的心态。培训本身包括一般性解释和简单的实践练习,但这并不意味着参加培训会立即导致贡献。
纯也:您贡献的目的是什么?
圭太:我最初的动机是“深入了解 Kubernetes 并建立业绩记录”,这意味着“贡献本身就是目标”。现在,我还会在工作中发现错误或限制时做出贡献。此外,通过贡献,我不再犹豫直接从源代码分析未记录的功能。
纯也:贡献有什么挑战?
圭太:最困难的部分是迈出第一步。为 OSS 做出贡献需要一定水平的知识,并且利用这次培训和来自其他人的支持等资源至关重要。让我印象深刻的一句话是,“一旦你迈出第一步,前进就变得容易了。”此外,就将贡献作为我工作的一部分而言,最具挑战性的方面是将结果呈现为成就。要长期保持贡献,将其与业务目标和战略保持一致非常重要,但上游贡献并不总是会带来可以直接与绩效挂钩的直接结果。因此,确保与管理者相互理解并获得他们的支持至关重要。
纯也:您未来的目标是什么?
圭太:我的目标是为具有更大影响力的领域做出贡献。到目前为止,我主要通过修复较小的错误做出贡献,因为我的主要重点是建立业绩记录,但展望未来,我想挑战自己,为 Kubernetes 用户带来更大影响或解决与我的工作相关的问题。最近,我也一直在努力将我对代码库所做的更改反映到官方文档中,我认为这是朝着实现我的目标迈出的一步。
纯也:非常感谢!
藤金义贵(CyberAgent, Inc.)
藤金义贵是 PipeCD 的维护者之一,这是一个 CNCF 沙箱项目。除了为 PipeCD 中的 Kubernetes 支持开发新功能外,义贵还积极参与社区管理,并在各种技术会议上发表演讲。
纯也:您为什么决定参加 Kubernetes 上游培训?
义贵:在我参加的时候,我还是个学生。我只简单地使用过 EKS,但我认为 Kubernetes 看起来既复杂又很酷,我对此很感兴趣。那时,OSS 感觉遥不可及,而 Kubernetes 的上游开发似乎令人生畏。虽然我一直对 OSS 感兴趣,但我不知道从哪里开始。正是在这个时候,我了解了 Kubernetes 上游培训,并决定挑战自己为 Kubernetes 做出贡献。
纯也:参加后您有什么印象?
义贵:我发现它非常有价值,可以了解作为 OSS 社区一员的感觉。当时,我的英语水平不是很好,所以访问主要信息来源对我来说是一个很大的障碍。Kubernetes 是一个非常庞大的项目,我并不清楚它的整体结构,更不用说贡献所必需的知识了。上游培训提供了对社区结构的日语解释,并让我获得了实际贡献的实践经验。由于我得到的指导,我能够学习如何访问主要来源并将其用作进一步调查的切入点,这非常有帮助。这段经历让我意识到了组织和审查主要来源的重要性,现在当我对某些事情感兴趣时,我经常会深入研究 GitHub 问题和文档。因此,虽然我不再为 Kubernetes 本身做出贡献,但这段经历为我为其他项目做出贡献奠定了良好的基础。
纯也:您目前正在为哪些领域做出贡献,您还参与了哪些其他项目?
义贵:现在,我不再使用 Kubernetes,而是 PipeCD 的维护者,这是一个 CNCF 沙箱项目。PipeCD 是一款 CD 工具,支持各种应用程序平台的 GitOps 风格部署。该工具最初是作为 CyberAgent 的内部项目启动的。由于不同的团队采用了不同的平台,开发 PipeCD 的目的是提供一个具有一致用户体验的统一 CD 平台。目前,它支持 Kubernetes、AWS ECS、Lambda、Cloud Run 和 Terraform。
纯也:您在 PipeCD 团队中扮演什么角色?
义贵:我全职致力于改进和开发团队中与 Kubernetes 相关的功能。由于我们在内部以 SaaS 的形式提供 PipeCD,因此我的主要重点是添加新功能并改进现有功能,作为该支持的一部分。除了代码贡献外,我还通过在各种活动中发表演讲和管理社区会议来帮助发展 PipeCD 社区。
纯也:您能解释一下您正在进行的关于 Kubernetes 的哪些改进或开发吗?
义贵:PipeCD 支持 Kubernetes 的 GitOps 和渐进式交付,因此我参与了这些功能的开发。最近,我一直在开发简化跨多个集群部署的功能。
纯也:您在为 OSS 做出贡献时遇到过任何挑战吗?
义贵:一个挑战是开发在满足用户用例的同时保持通用性的功能。当我们在运营内部 SaaS 时收到功能请求时,我们会首先考虑添加功能来解决这些问题。同时,我们希望 PipeCD 作为 OSS 工具被更广泛的受众使用。因此,我一直在考虑为一种用例设计的功能是否可以应用于另一种用例,从而确保软件保持灵活性和广泛可用性。
纯也:您未来的目标是什么?
Yoshiki: 我想专注于扩展 PipeCD 的功能。目前,我们正在以“一个 CD 适用于所有”的口号开发 PipeCD。正如我之前提到的,它支持 Kubernetes、AWS ECS、Lambda、Cloud Run 和 Terraform,但还有许多其他平台,未来也可能会出现新的平台。因此,我们目前正在开发一个插件系统,允许用户自行扩展 PipeCD,我希望推动这项工作。我还在开发 Kubernetes 中多集群部署的功能,并致力于继续做出有影响力的贡献。
纯也:非常感谢!
Kubernetes 上游培训的未来
我们计划继续在日本举办 Kubernetes 上游培训,并期待欢迎更多新的贡献者。我们的下一次会议计划于 11 月底在 CloudNative Days Winter 2024 期间举行。
此外,我们的目标是将这些培训计划扩展到不仅在日本,而且在全球范围内。今年是 Kubernetes 庆祝 10 周年,为了让社区更加活跃,全球各地的人们继续做出贡献至关重要。虽然上游培训已经在多个地区举行,但我们的目标是将它带到更多地方。
我们希望随着越来越多的人加入 Kubernetes 社区并做出贡献,我们的社区将变得更加充满活力!