K0smotron v1.7.0 發佈:聯邦託管控制平面 - 新闻 详情

K0smotron v1.7.0 現已發佈,項目團隊在過去幾個月致力於增強 k0smotron,既作為獨立解決方案,也作為 Cluster API 的重要組成部分。同時,也擴展了 k0smotron 自身的 API,以支持更多使用場景。

比如新增的 customUserData 字段,讓你能直接控制虛擬機啓動 k0s 的準備過程。這使得集羣啓動可以滿足更具體的需求。這只是開始,下一次小版本計劃支持 Ignition 作為另一種引導方式,進一步提升啓動配置的靈活性。

同時持續優化開發者和運維體驗:增強擴展性,消除不一致,平滑不同環境中出現的問題。大部分改進都在後台,但這讓 k0smotron 更穩定,也更易用。此外,還宣佈支持聯邦託管控制平面(Federated Hosted Control Planes),為多集羣場景帶來了全新的適應能力。

新功能

  • 聯邦託管控制平面(Federated HCP):允許跨多個集羣以聯邦方式託管和管理控制平面,開啓更大規模和靈活性的可能。

維護與穩定性

  • 一般性修復和項目維護,保證穩定性。

  • 默認鏡像倉庫從 docker.io 切換到 quay.io,避免頻率限制問題。

資源配置與集羣管理

  • 機器命名策略更新,與大多數 CAPI 供應商保持一致。

  • 引導配置更智能,自動適配檢測到的 k0s 版本。

  • 改進遠程機器配置時的調試功能,提升排查效率。

文檔更新

  • 調整文檔中的示例,確保內容最新。

  • 擴展發佈流程文檔,提升透明度。

k0smotron 中的託管控制平面(Hosted Control Plane,HCP)指的是 Kubernetes 控制平面不需要專用機器,而是以 Pod 形式運行於 Kubernetes 集羣內。此前,這些控制平面 Pod 總是在管理集羣中,與 k0smotron 控制器共存。

聯邦 HCP 把這個思路更進一步:控制平面 Pod 可以部署在外部集羣,而非管理集羣。k0smotron 控制器依然負責管理它們,但不必直接承載它們。

這帶來更高的靈活性:管理集羣保持輕量,僅負責調度。控制平面則可部署在最合適的位置,比如靠近工作負載節點、合規環境中,或分佈在多個集羣以提升可用性。簡單來説,聯邦讓控制平面的運行位置和管理位置解耦,帶來更多擴展、合規和高可用的場景。

這不僅僅是架構調整,更有實際好處:

  • 擴展性更好,託管控制平面的負載可以分散,而非集中。

  • 符合合規需求,控制平面可留在滿足監管要求的集羣內,管理集羣保持簡潔。

  • 更高的韌性,工作負載集羣不依賴管理集羣的物理狀態。即使管理集羣故障或連接不穩定,聯邦控制平面依然獨立運行,保證工作負載集羣正常。

當然,對於小規模或簡單環境,直接在管理集羣運行控制平面依然是最簡單高效的選擇。但當需要更大靈活性時,聯邦 HCP 打開了更多可能。我們相信用户會發現更多應用場景。

如何使用

用 k0smotron 在非管理集羣中以 Pod 形式部署控制平面很簡單。只需引用一個 Kubernetes Secret,裏面包含目標外部集羣的 kubeconfig 即可。

apiVersion: k0smotron.io/v1beta1
kind:Cluster
metadata:
name:my-k0smotron
spec:
kubeconfigRef:
    name:my-external-cluster-kubeconfig
    namespace:some-namespace
    key:secret-key-for-kubeconfig

示例中,集羣配置指向存儲在 Secret 的 kubeconfig。k0smotron 控制器用該配置連接目標集羣,在那裏部署控制平面 Pod。

唯一要求是 kubeconfig 需有足夠權限創建資源,且外部集羣可從管理集羣訪問。

總結

K0smotron v1.7.0 重點提升靈活性,夯實項目基礎。通過聯邦託管控制平面、更智能的資源配置和更緊密的 Cluster API 集成,讓 Kubernetes 集羣的運行更符合實際需求,無論是多雲、邊緣還是其他場景。