website/content/zh-cn/blog/_posts/2024-10-28-k8s-upstream-tra.../index.md

24 KiB
Raw Permalink Blame History

layout title slug date author translator
blog 关于日本的 Kubernetes 上游培训的特别报道 k8s-upstream-training-japan-spotlight 2024-10-28 [Junya Okabe](https://github.com/Okabe-Junya)(筑波大学)/ 日本 Kubernetes 上游培训组织团队 [Michael Yao](https://github.com/windsonsea) (DaoCloud)

我们是日本 Kubernetes 上游培训的组织者。 我们的团队由积极向 Kubernetes 做贡献的成员组成,他们在社区中担任了 Member、Reviewer、Approver 和 Chair 等角色。

我们的目标是增加 Kubernetes 贡献者的数量,并促进社区的成长。 虽然 Kubernetes 社区友好协作,但新手可能会发现迈出贡献的第一步有些困难。 我们的培训项目旨在降低壁垒,创造一个即使是初学者也能顺利参与的环境。

日本 Kubernetes 上游培训是什么?

2022 年上游培训

我们的培训始于 2019 年,每年举办 1 到 2 次。 最初Kubernetes 上游培训曾作为 KubeConKubernetes 贡献者峰会)的同场地活动进行, 后来我们在日本推出了 Kubernetes 上游培训,目的是通过在日本举办类似活动来增加日本的贡献者。

在疫情之前,培训是面对面进行的,但自 2020 年以来,我们已转为在线上进行。 培训为尚未参与过 Kubernetes 贡献的学员提供以下内容:

  • Kubernetes 社区简介
  • Kubernetes 代码库概述以及如何创建你的第一个 PR
  • 各种降低参与壁垒(如语言)的提示和鼓励
  • 如何搭建开发环境
  • 使用 kubernetes-sigs/contributor-playground 开展实践课程

在培训开始时,我们讲解为什么贡献 Kubernetes 很重要以及谁可以做贡献。 我们强调,贡献 Kubernetes 可以让你产生全球影响,而 Kubernetes 社区期待着你的贡献!

我们还讲解 Kubernetes 社区、SIG特别兴趣小组和 WG工作组。 接下来,我们讲解 Member、Reviewer、Approver、Tech Lead 和 Chair 的角色与职责。 此外,我们介绍大家所使用的主要沟通工具,如 Slack、GitHub 和邮件列表。 一些讲日语的人可能会觉得用英语沟通是一个障碍。 此外,社区的新人需要理解在哪儿以及如何与人交流。 我们强调迈出第一步的重要性,这是我们培训中最关注的方面!

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

经过几节课后,参与者将体验使用 kubernetes-sigs/contributor-playground 开展实践工作,在那里他们可以创建一个简单的 PR。 目标是让参与者体验贡献 Kubernetes 的过程。

在项目结束时,我们还提供关于为贡献 kubernetes/kubernetes 仓库搭建开发环境的详细说明, 包括如何在本地构建代码、如何高效运行测试以及如何搭建集群。

与参与者的访谈

我们对参与我们培训项目的人进行了访谈。 我们询问了他们参加的原因、印象和未来目标。

Keita MochizukiNTT DATA 集团公司

Keita Mochizuki 是一位持续为 Kubernetes 及相关项目做贡献的贡献者。 他还是容器安全领域的专业人士,他最近出版了一本书。此外, 他还发布了一份新贡献者路线图 对新贡献者非常有帮助。

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

Keita 实际上,我分别在 2020 年和 2022 年参加过两次培训。 在 2020 年,我刚开始学习 Kubernetes想尝试参与工作以外的活动 所以在 Twitter 上偶然看到活动后报了名参加了活动。 然而,那时我的知识积累还不多,贡献 OSS 感觉超出了我的能力。 因此,在培训后的理解比较肤浅,离开时更多是“嗯,好吧”的感觉。

在 2022 年,我再次参加,那时我认真考虑开始贡献。 我事先进行了研究,并能够在讲座中解决我的问题,那次经历非常有成效。

Junya 参加后你有什么感受?

Keita 我觉得培训的意义很大程度上取决于参与者的心态。 培训本身包括常规的讲解和简单的实践练习,但这并不意味着参加培训就会立即会去做贡献。

Junya 你贡献的目的是什么?

Keita 我最初的动机是“深入理解 Kubernetes 并生成成绩记录”,也就是说“贡献本身就是目标”。 如今,我还会通过贡献来解决我在工作中发现的 Bug 或约束。 此外,通过贡献,我变得不再那么犹豫,会去直接基于源代码分析了解没有文档记录的特性。

Junya 贡献中遇到的挑战是什么?

Keita 最困难的部分是迈出第一步。贡献 OSS 需要一定的知识水平,利用像这样的培训和他人的支持至关重要。 一句让我印象深刻的话是,“一旦你迈出第一步,后续就会变得更容易。”
此外,在作为工作的一部分继续贡献时,最具挑战性的是将输出的结果变为成就感。 要保持长期贡献,将贡献与业务目标和策略对齐非常重要,但上游贡献并不总是能直接产生与表现相关的即时结果。 因此,确保与管理人员的相互理解并获得他们的支持至关重要。

Junya 你未来的目标是什么?

Keita 我的目标是对影响更大的领域做出贡献。 到目前为止,我主要通过修复较小的 Bug 来做贡献,因为我的主要关注是生成一份成绩单, 但未来,我希望挑战自己对 Kubernetes 用户产生更大影响的贡献,或解决与我工作相关的问题。 最近,我还在努力将我对代码库所做的更改反映到官方文档中, 我将这视为实现我目标的一步。

Junya 非常感谢!

Yoshiki FujikaneCyberAgent, Inc.

Yoshiki Fujikane 是 CNCF 沙盒项目 PipeCD 的维护者之一。 除了在 PipeCD 中开发对 Kubernetes 支持的新特性外, Yoshiki 还积极参与社区管理,并在各种技术会议上发言。

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

Yoshiki 当我参与培训时,我还是一名学生。 我只简短地接触过 EKS我觉得 Kubernetes 看起来复杂但很酷,我对此有一种随意的兴趣。 当时OSS 对我来说感觉像是遥不可及,而 Kubernetes 的上游开发似乎非常令人生畏。 虽然我一直对 OSS 感兴趣,但我不知道从哪里开始。 也就在那个时候,我了解到 Kubernetes 上游培训,并决定挑战自己为 Kubernetes 做贡献。

Junya 参加后你的印象是什么?

Yoshiki 我发现对于了解如何成为 OSS 社区的一部分,这种培训是一种非常有价值的方式。 当时,我的英语水平不是很好,所以获取主要信息源对我来说是一个很大的障碍。 Kubernetes 是一个非常大的项目,我对整体结构没有清晰的理解,更不用说贡献所需的内容了。 上游培训提供了对社区结构的日文解释,并让我获得了实际贡献的实践经验。 得益于我所得到的指导,我学会了如何接触主要信息源,并将其作为进一步研究的切入点,这对我帮助很大。 这次经历让我意识到组织和评审主要信息源的重要性,现在我经常在 GitHub Issue 和文档中深入研究我感兴趣的内容。 因此,虽然我不再直接向 Kubernetes 做贡献,但这次经历为我在其他项目中做贡献奠定了很好的基础。

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

Yoshiki 目前,我不再从事 Kubernetes 的工作,而是担任 CNCF 沙盒项目 PipeCD 的维护者。 PipeCD 是一个支持各种应用平台的 GitOps 式部署的 CD 工具。 此工具最初作为 CyberAgent 的内部项目启动。 随着不同团队采用不同的平台PipeCD 设计为提供一个统一的 CD 平台,确保用户体验一致。 目前,它支持 Kubernetes、AWS ECS、Lambda、Cloud Run 和 Terraform。

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

Yoshiki 我全职负责团队中与 Kubernetes 相关特性的改进和开发。 由于我们将 PipeCD 作为内部 SaaS 提供,我的主要关注点是添加新特性和改进现有特性, 确保 PipeCD 能够持续良好支持 Kubernetes 等平台。 除了代码贡献外,我还通过在各种活动上发言和管理社区会议来帮助发展 PipeCD 社区。

Junya 你能讲解一下你对于 Kubernetes 正在进行哪些改进或开发吗?

Yoshiki PipeCD 支持 Kubernetes 的 GitOps 和渐进式交付,因此我参与这些特性的开发。 最近,我一直在开发简化跨多个集群部署的特性。

Junya 在贡献 OSS 的过程中,你遇到过哪些挑战?

Yoshiki 一个挑战是开发在满足用户用例的同时保持通用性的特性。 当我们在运营内部 SaaS 期间收到特性请求时,我们首先考虑添加特性来解决这些问题。 与此同时,我们希望 PipeCD 作为一个 OSS 工具被更广泛的受众使用。 因此,我总是思考为一个用例设计的特性是否可以应用于其他用例,以确保 PipeCD 这个软件保持灵活且广泛可用。

Junya 你未来的目标是什么?

Yoshiki 我希望专注于扩展 PipeCD 的功能。 目前我们正在以“普遍可用的持续交付”One CD for All的口号开发 PipeCD。 正如我之前提到的,它支持 Kubernetes、AWS ECS、Lambda、Cloud Run 和 Terraform 但还有许多其他平台,以及未来可能会出现的新平台。 因此,我们目前正在开发一个插件系统,允许用户自行扩展 PipeCD我希望将这一努力向前推进。 我也在处理 Kubernetes 的多集群部署特性,目标是继续做出有影响力的贡献。

Junya 非常感谢!

Kubernetes 上游培训的未来

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

此外,我们的目标不仅是在日本推广这些培训项目,还希望推广到全球。 今年的 Kubernetes 十周年庆 以及为了使社区更加活跃,让全球各地的人们持续贡献至关重要。 虽然上游培训已经在多个地区举行,但我们希望将其带到更多地方。

我们希望随着越来越多的人加入 Kubernetes 社区并做出贡献,我们的社区将变得更加生机勃勃!