Clastix推出Kamaji,一款新的開源工具,用於管理Kubernetes服務

Clastix推出Kamaji,一款新的開源工具,用於管理Kubernetes服務

2024.03.23

在KubeCon + CloudNativeCon EU 2022的2022年5月16日,Kubernetes多租戶專家Clastix宣布推出Kamaji,這是一款新的開源工具,用於以前所未有的簡易性構建和運營管理Kubernetes服務。

Kubernetes的採用迅速增長。最近一份由雲原生計算基金會(CNCF)發布的報告發現,超過96%的組織正在使用或評估Kubernetes——自2016年早期調查以來的最高記錄。隨著這一事實上的地位,Kubernetes現在正在“深入內部”,類似於Linux,越來越多的組織利用來自雲和服務提供商的管理服務和打包平台。

全球超級大型雲計算提供商如AWS、Azure、GCP以及其他一些公司在這個市場中領先,而地區雲提供商以及大型企業因缺乏合適的工具而難以向開發者提供同等級的體驗。此外,針對內部部署的Kubernetes解決方案採用了企業優先的方法,在大規模部署時成本過高,需要的管理工作也不具競爭力。Kamaji項目旨在通過利用多租戶技術並簡化如何在大規模下運行集群來解決這一痛點,同時只需要一小部分的運營負擔。

管理Kubernetes服務的解剖

在構建管理Kubernetes服務時,最結構性的選擇之一是如何在大規模下部署、管理和運營多個集群。所有這些集群都必須是:有韌性的、隔離的和成本優化的,管理它們可能會對運營團隊施加太大壓力。

因此,在Clastix,我們選擇使用Kubernetes本身來協調其他Kubernetes集群。這個想法,也被稱為“kube inception”,並不是一個新想法,但我們正試圖將它推向下一個層次。為了實現這一目標,Kamaji將任何符合標準的Kubernetes集群轉化為“管理集群”,以協調其他被稱為“租戶集群”的Kubernetes集群。

就像每個Kubernetes集群一樣,租戶集群擁有一組節點和一個由多個組件組成的控制平面:API服務器、調度器和控制器管理器。Kamaji所做的,就是將這些租戶集群組件部署為在管理集群中運行的pod。所以現在,我們有所有租戶集群控制平面的無狀態組件作為輕量級pod運行,而不是多個虛擬機。我們還沒有提到etcd,這是一個保存集群狀態的鍵值數據存儲,我們將稍後討論它。

那麼租戶工作節點是什麼呢?它們只是工作節點:普通實例,例如虛擬或裸金屬,連接到租戶集群的API服務器。我們的目標是管理數百個集群的生命周期,而不僅僅是一個,那麼我們如何添加另一個租戶集群呢?正如您所期待的,Kamaji只需在管理集群中部署新的租戶控制平面作為新的pod,然後加入新的租戶工作節點。

所有使用Kamaji構建的租戶集群都是完全符合CNCF Kubernetes集群的規範,並且與大家所熟知和喜愛的標準工具鏈兼容。

保存狀態

將租戶集群控制平面放入pod是最簡單的部分。此外,我們還必須確保每個租戶集群能夠保存狀態,以便能夠存儲和檢索數據。所有的問題都是關於在哪裡以及如何部署etcd,使其對每個租戶集群都可用。

最初,為每個租戶集群設立專用的etcd集群對於管理服務來說並不適合擴展,因為用戶的計費僅根據他們消耗的工作節點資源。這意味著,要讓服務具有競爭力,控制租戶控制平面消耗的資源變得非常重要。

因此,我們必須在保持我們對於韌性和成本最佳化解決方案的目標的同時,找到一個替代方案。由於我們可以使用外部etcd集群部署任何Kubernetes集群,我們探索了這個選項用於租戶控制平面。在管理集群上,我們可以部署一個多租戶etcd集群,用於存儲租戶集群的狀態。

通過這種解決方案,韌性由慣用的etcd機制保證,並且pod的數量得到控制,因此它解決了韌性和成本最佳化的主要目標。這裡的取捨是我們必須運營一個外部etcd集群並管理訪問權限,以確保每個租戶集群只使用其數據。此外,etcd的大小有限制,默認為2GB,可配置最大為8GB。

在Clastix,我們通過將多個etcd進行資源池化和對租戶控制平面進行分片來解決這個問題。首次基準測試顯示,我們可以使用幾個數量級較低的多個etcd來服務數個租戶集群。

硬多租戶性

透過Kamaji,雲服務提供商和大型組織可以創建管理Kubernetes服務,以最簡單和最自動化的方式為其用戶提供與公共雲服務提供商相同的體驗。租戶工作節點通過基礎設施保持隔離,而控制平面在管理集群的不同Kubernetes命名空間中運行。網絡政策和政策引擎可用於進一步隔離不同租戶集群的控制平面。客戶應該看不出Kamaji構建的集群與專用集群之間的差異。最終,Kamaji實現了一個完整的硬多租戶環境,其中每個租戶都作為其集群的管理員,並且與其他租戶分享無關。我們對Kamaji項目感到非常興奮,因為它看起來很有前途,並期待著社區的支持,使其變得更好。

相關文章