Vcluster在常規(guī)命名空間內(nèi)運行的虛擬 Kubernetes 集群
創(chuàng)建功能齊全的虛擬 Kubernetes 集群 - 每個 vcluster 都在底層 k8s 集群的命名空間內(nèi)運行。這比創(chuàng)建獨立的完整集群更便宜,而且它比普通命名空間提供了更好的多租戶和隔離性。
為什么選擇虛擬 Kubernetes 集群?
- Cluster Scoped Resources:比簡單的命名空間更強大(虛擬集群允許用戶使用 CRD、命名空間、集群角色等)
- 易用性:可在任何 Kubernetes 集群中使用,并通過單個命令或cluster-api在幾秒鐘內(nèi)創(chuàng)建
- 成本效益:比“real”集群便宜和高效(單個 pod 和共享資源,就像命名空間一樣)
- 輕量級:建立在超快的 k3s 發(fā)行版之上,每個虛擬集群的開銷最小(其他發(fā)行版也可以)
- 嚴(yán)格隔離:為每個vcluster完成獨立的Kubernetes控制平面和接入點,同時仍然能夠共享底層主機集群的某些服務(wù)
- 集群范圍權(quán)限:允許用戶安裝需要集群范圍權(quán)限的應(yīng)用程序,但實際上僅限于主機集群中的一個命名空間
- 非常適合測試:允許你在單個主機集群內(nèi)測試不同的 Kubernetes 版本,該主機集群的版本可能與虛擬集群不同
架構(gòu)
特性
- Certified Kubernetes Distribution - vcluster 本身是經(jīng)過認(rèn)證的 Kubernetes 發(fā)行版,并且 100% 符合 Kubernetes API。在常規(guī) Kubernetes 集群中工作的一切都在 vcluster 中工作
- 輕量級和低開銷- 基于 k3s,捆綁在單個 pod 中,資源消耗超低。還支持其他發(fā)行版,例如 k0s 或 vanilla k8s
- 沒有性能下降- Pod 被安排在底層主機集群中,因此它們在運行時根本不會受到性能影響
- 減少主機集群的開銷- 將大型多租戶集群拆分為更小的 vcluster,以降低復(fù)雜性并提高可擴展性。由于大多數(shù) vcluster api 請求和對象根本不會到達宿主集群,因此 vcluster 可以大大降低底層 Kubernetes 集群的壓力
- Easy Provisioning - 通過 vcluster CLI、helm、kubectl、cluster api、Argo CD 或任何您喜歡的工具創(chuàng)建(它基本上只是一個 StatefulSet)
- 無需管理員權(quán)限- 如果您可以將 Web 應(yīng)用程序部署到 Kubernetes 命名空間,那么您也可以部署 vcluster
- 單一命名空間封裝- 每個 vcluster 及其所有工作負(fù)載都位于底層主機集群的單一命名空間內(nèi)
- Easy Cleanup - 刪除主機命名空間,vcluster 及其所有工作負(fù)載將立即消失
- 靈活和多功能- vcluster 支持不同的存儲后端(例如 sqlite、mysql、postgresql 和 etcd)、插件、可自定義的同步行為、vcluster 設(shè)置中的 vcluster,并具有更多額外的配置選項以適應(yīng)多種不同的用例
評論
圖片
表情
