Kubernetes特別興趣小組(Special Interest Group,SIG)發布了一個稱為KWOK(Kubernetes WithOut Kubelet)的模擬測試工具包,使得用戶可以在數秒鐘內,以低資源模擬創建具有數千節點的叢集,在不占用大量基礎設施的情況,大規模測試Kubernetes控制器。

Kubernetes是一個容器化應用程式調度工具,讓使用者能夠在節點之間方便地管理Pod,每個節點都需要一個管理員,那便是Kubelet的工作,而KWOK便是「沒有Kubelet的Kubernetes」英文縮寫。

由於消除Kubelet,KWOK以模擬的方式創建節點、Pod和Kubernetes資源,因此不會消耗大量CPU和記憶體資源,使用者在單一筆電上就可以模擬出數千節點,而且KWOK操作迅速,能夠立刻創建和刪除叢集和節點,不需要等待或是進行額外配置。

KWOK可以和任何支援Kubernetes API的工具和客戶端搭配使用,像是kubectl、helm和kui等都沒問題,同時KWOK也可以配置不同的節點類型、標籤、容量和條件等,藉由設定不同的Pod行為、狀態,用戶能夠測試不同的場景和特殊情況。由於KWOK具有可移植性,沒有特殊的硬體或是軟體要求,因此安裝Docker或Nerdctl後,用戶便可以使用預建置的映像檔執行,或是以二進位檔案在各種平臺安裝。

該專案目前有兩個主要的工具,分別是kwok和kwokctl,kwok負責模擬假節點、Pod和Kubernetes API的資源生命周期,而kwokctl則是命令列工具,供用戶簡單地以kwok模擬的節點,創建和管理叢集。

雖然KWOK沒辦法實際創建節點,但是由於能夠模擬各種Kubernetes資源,且執行速度很快,所以方便用於學習、開發和測試等非生產用途。但也因為KWOK不是Kubelet,因此在Pod生命周期管理、磁碟區掛載和裝置套件等方面行為不同,KWOK主要的功能只是模擬節點和Pod的狀態更新。

由於KWOK僅使用簡單的公式來模擬逼近部分Kubelet行為,因此並無法反映實際節點和工作負載的效能和行為,而且KWOK不會在模擬節點上強制執行任何安全策略和機制,會假設kube-apiserver的所有請求,都是經過授權且有效的,因此在學習、開發和測試之外的用途使用,將會有安全性的問題。

熱門新聞

Advertisement