聚焦 SIG etcd
在本次 SIG etcd 聚焦中,我們與 James Blair、Marek Siarkowicz、Wenjia Zhang 和 Benjamin 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 的測試基礎設施,比如 Prow 和 TestGrid 這樣的工具。對於像 etcd 這樣的大型專案來說,這些工具與預設的 GitHub 工具完全沒有可比性。擁有眾所周知、易於使用、清晰的工具對 etcd 來說是一個巨大的推動,因為它使得 Kubernetes 的貢獻者也更容易幫助 etcd。
Wenjia: 完全同意。雖然挑戰依然存在,但 SIG 的結構為解決這些問題提供了一個堅實的基礎,並確保 etcd 作為 Kubernetes 生態系統關鍵元件的持續成功。
對社群的積極影響是 SIG etcd 成功的另一個關鍵方面,我想強調一下。Kubernetes SIG 的結構為 etcd 貢獻者創造了一個受歡迎的環境,從而增加了更廣泛的 Kubernetes 社群的參與度。我們與其他 SIG(如 SIG API Machinery、SIG Scalability、SIG Testing、SIG Cluster Lifecycle 等)的合作也更加緊密。
這種合作有助於確保 etcd 的發展與更廣泛的 Kubernetes 生態系統的需求保持一致。在 SIG etcd 和 SIG Cluster Lifecycle 的共同努力下成立的 etcd Operator 工作組 就是這種成功合作的典範,表明了我們共同致力於改善 etcd 在 Kubernetes 中的運維方面的承諾。
Frederico: 既然你提到了合作,最近幾個月在貢獻者和社群參與方面有什麼變化嗎?
James: 是的——正如我們的獨立 PR 作者資料所示,我們在三月份達到了歷史新高,並且正朝著積極的方向發展。

此外,看看我們所有 etcd 專案倉庫的總體貢獻,我們也觀察到了一個積極的趨勢,顯示出 etcd 專案活動的復甦。

前方的道路
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: 這是結束這次聚焦訪談的絕佳方式,謝謝大家!
欲瞭解更多資訊和資源,請檢視:
- etcd 網站: https://etcd.io/
- etcd GitHub 倉庫: https://github.com/etcd-io/etcd
- etcd 社群: https://etcd.io/community/