聚焦日本 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 社群、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 社群並做出貢獻,我們的社群將變得更加充滿活力!