本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
K8s-Infrastructure 工作組簡介
作者:Kiran "Rin" Oliver,Kubernetes 上游市場團隊講述者
K8s-Infrastructure 工作組簡介
歡迎來到 K8s-Infrastructure 工作組系列介紹的第一部分!
Kubernetes 於 2014 年成立時,Google 承擔了構建和維護專案順利執行所需基礎設施的任務。工具本身是開源的,但用於執行基礎設施的 Google Cloud Platform 專案是內部專用的,這使得貢獻者無法提供幫助。2018 年 8 月,Google 授予 Cloud Native Computing Foundation 900 萬美元積分,用於 Kubernetes 的運營。這背後的理念是,像 Kubernetes 這樣的專案應該由社群本身而不是由單一供應商來維護和運營。
一群社群成員積極地承擔了合作推進的職責,他們意識到需要更正式的基礎設施。他們作為一個跨團隊工作組,其所有權涵蓋多個 Kubernetes SIG(架構、貢獻者體驗、釋出和測試)。Aaron Crickenberger 與 Kubernetes 指導委員會合作,促成了工作組的成立,並與長期合作者Davanum Srinivas共同起草了章程,到 2019 年,該工作組正式成立。
K8s-Infrastructure 工作組解決了哪些問題?
該團隊承擔了管理支撐 Kubernetes 專案的複雜基礎設施中許多動態部分的任務。
需求始於必要性:他們解決的第一個問題是將專案所有基礎設施從 Google 擁有的基礎設施完全遷移到 Cloud Native Computing Foundation (CNCF)。這樣做是為了使專案能夠自我維持,而無需任何單個供應商的直接幫助。具體如下:
- 識別 Kubernetes 專案所依賴的基礎設施。
- 正在執行哪些應用程式?
- 它在哪裡執行?
- 其原始碼在哪裡?
- 哪些是定製構建的?
- 哪些是現成的?
- 哪些服務相互依賴?
- 如何管理?
- 記錄作為社群執行基礎設施的指導方針和政策。
- 我們的訪問政策是什麼?
- 我們如何跟蹤計費?
- 我們如何確保隱私和安全?
- 將基礎設施原樣遷移到 CNCF。
- 遷移阻力最小的路徑是什麼?
- 改進基礎設施的可持續性狀態。
- 從人工執行指令碼轉向更自動化的 GitOps 模型(一切皆 YAML!)
- 支援希望開發新基礎設施的社群成員
- 記錄我們工作進展的狀態,更好地定義目標和完成指標。
- 專案和計劃管理,以便將這項工作傳達給我們的龐大貢獻者社群
K8s-Infrastructure 的挑戰是文件
工作組試圖解決的最關鍵問題是該專案完全由志願者領導。這導致貢獻者、主席和參與專案的其他人很快變得日程排滿。因此,文件和組織等某些領域經常缺乏資訊,並且進展所需的時間比該組希望的要長。
正在遷移的一些基礎設施已經有一段時間沒有更新了,其原始作者或直接負責人已經不再從事 Kubernetes 的工作。雖然從程式碼能夠長時間執行未觸及的角度來看,這很好,但從嘗試遷移的角度來看,這使得很難確定如何操作這些元件以及如何有效地移動這些基礎設施部件。
文件缺失的問題正由小組成員Bart Smykla直接解決,但肯定需要其他人提供支援。如果您正在尋找一種參與並學習基礎設施的方法,您可以成為工作組的新貢獻者!
慶祝工作組的一些成就
團隊在過去幾個月裡取得了值得慶祝的進展。
- K8s-Infrastructure 工作組釋出了一份自動化計費報告,他們每次會議都以審查這份報告開始。
- k8s.io 和 kubernetes.io 的 DNS 也完全社群所有,社群成員可以提交問題來管理記錄。
- 容器登錄檔 registry.k8s.io 也完全由社群擁有,可供所有 Kubernetes 子專案使用。注意:容器登錄檔已更改為 registry.k8s.io。於 2022 年 8 月 25 日更新。
- 負責將 k8s.io/kubernetes/staging 儲存庫釋出到其自己的頂級儲存庫(例如:kubernetes/api)的 Kubernetes 釋出機器人在社群擁有的叢集上執行。
- 用於提供匿名訪問 GCS 儲存桶以獲取 Kubernetes 製品的 gcsweb.k8s.io 服務在社群擁有的叢集上執行。
- 還有一個自動化過程,用於推廣我們所有的容器映象。這包括由 Kubernetes 社群管理的、完全文件化的基礎設施,以及用於提供許可權的自動化流程。
這些只是 K8s-Infrastructure 工作組目前正在進行的一些事情。
如果您有興趣參與,請務必加入 #wg-K8s-infra Slack 頻道。會議時長 60 分鐘,每隔一週的週三太平洋時間上午 8:30 / 世界標準時間 16:30 舉行。
加入我們以幫助文件工作,並留下來了解支援 Kubernetes 社群的卓越基礎設施。