自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實施虛擬 Kubernetes 集群時的關(guān)鍵注意事項

譯文 精選
云計算
在 Kubernetes 環(huán)境中,多租戶是指在開發(fā)和測試等環(huán)境中,多個團隊、應用程序或用戶之間共享一個大型集群,主要是為了降低管理多個集群的成本和運營開銷。多租戶正在成為平臺團隊部署 Kubernetes 基礎設施的基本要求。

在 Kubernetes 環(huán)境中,多租戶是指在開發(fā)和測試等環(huán)境中,多個團隊、應用程序或用戶之間共享一個大型集群,主要是為了降低管理多個集群的成本和運營開銷。多租戶正在成為平臺團隊部署 Kubernetes 基礎設施的基本要求。

使用 Kubernetes 命名空間實現(xiàn)多租戶

到目前為止,實現(xiàn)多租戶的最流行的方法是使用 Kubernetes 命名空間。Kubernetes 命名空間提供了一種簡單的方法來劃分一組資源,例如 Pod、服務和部署,這些資源只能在該命名空間內(nèi)訪問。

平臺團隊通常管理和操作集群,并具有完全集群級別的權(quán)限。它們通過創(chuàng)建一個或多個特定于每個團隊、應用程序、用戶的命名空間,并限制作為開發(fā)人員、DevOps 工程師和應用程序所有者的最終用戶對這些命名空間的訪問來實現(xiàn)多租戶。最終用戶只能執(zhí)行特定于他們擁有所有權(quán)的命名空間的操作。這適用于絕大多數(shù)多租戶用例。在這里,vcluster 框架可能很有用。

使用 Vcluster 開源框架的多租戶

在某些極端情況下,限制最終用戶僅訪問命名空間不太合理,因為最終用戶需要訪問集群范圍對象(如 CRD、入口控制器、集群 API 服務器等),來進行日常開發(fā)工作。通常,參與開發(fā)自定義資源和自定義控制器以擴展 Kubernetes API、準入控制器以實現(xiàn)變異和驗證 Webhook ,以及其他可能需要自定義 Kubernetes 配置服務的用戶需要集群級訪問權(quán)限。虛擬集群(vcluster)是一個開源框架,旨在解決這個問題。vcluster 本質(zhì)上是一個可以在物理集群中創(chuàng)建的虛擬集群。

默認情況下,Vcluster 在每個虛擬集群實例的主機集群命名空間中安裝 K3s 集群(可選為 k0s、k8s 和 EKS),并安裝 API 服務器、控制器管理器、存儲后端和(可選)調(diào)度程序等核心 Kubernetes 組件。最終用戶與虛擬群集 API 服務器交互并獲得對虛擬群集的完全訪問權(quán)限,但是仍保持資源隔離和安全性,因為他們僅限于主機命名空間,并且無權(quán)訪問主機群集 API 服務器。平臺團隊在主機群集中創(chuàng)建命名空間,為主機命名空間配置資源配額和策略,創(chuàng)建虛擬群集實例,并將虛擬群集移交給最終用戶。

部署 Vcluster 之前要回答的關(guān)鍵問題

雖然為一小組最終用戶部署 vcluster 相當簡單,但在進行大規(guī)模 vcluster 部署之前,平臺團隊必須要清晰的了解以下問題,并圍繞 vcluster 實施其他解決方案,才能滿足其組織的自動化、安全性、治理和合規(guī)性要求:

1、如何為每個命名空間創(chuàng)建主機級命名空間和資源配額,并將其映射到內(nèi)部用戶、團隊?

平臺團隊仍然需要命名空間級多租戶的解決方案,因為必須先創(chuàng)建主機命名空間才能部署 vcluster 實例。

2、如何自動執(zhí)行 vcluster 的生命周期管理以應對大規(guī)模使用?

平臺團隊需要解決諸如創(chuàng)建、修改、刪除虛擬集群實例、向最終用戶公開虛擬集群 API 服務器(使用入口或負載均衡器)、將虛擬集群 Kubeconfig 文件安全地分發(fā)給最終用戶以及升級虛擬集群實例 (K3), 以應對軟件更新和安全漏洞等問題。

3、如何確保每個虛擬集群中僅運行已批準和授權(quán)的群集范圍服務?是否在每個虛擬集群中部署它們?如何保證沒有漂移?

這些服務通常包括安全插件、日志記錄、監(jiān)控、服務網(wǎng)格、入口控制器、存儲插件等。

4、如何在命名空間級別為主機命名空間創(chuàng)建網(wǎng)絡策略?

由于物理群集可能在多個 BU 和應用程序團隊之間共享,因此仍然需要此級別的網(wǎng)絡隔離,這需要在主機命名空間之間進行網(wǎng)絡隔離。

5、如何在每個虛擬集群中實施 OPA 等安全策略?是否需要在每個虛擬群集中部署這些策略?

大多數(shù)平臺團隊會根據(jù)其安全團隊的建議標準化一組安全策略,并將其部署到每個集群中,來保持安全狀況。

6、如何檢索每個虛擬集群的 Kubectl 審核日志?

對于某些組織來說,Kubectl 審計是一項關(guān)鍵要求,無論在什么樣的環(huán)境中都是如此。

7、如何處理成本分配?

由于資源由不同的開發(fā)團隊共享,因此它們可能屬于不同的成本中心,平臺團隊需要實施適當?shù)陌创鎯θ萘渴褂糜嬞M策略,來進行成本分配。

8、如何讓其他開發(fā)人員工具(如ArgoCD)與vcluster一起工作?

像ArgoCD這樣的GitOps工具需要集群訪問才能部署應用程序,必須在ArgoCD中配置每個vcluster實例,以便最終用戶利用ArgoCD GitOps部署。這可能適用于其他常用工具,例如可觀測性、日志記錄和監(jiān)視工具。

9、每個 vcluster 實例會產(chǎn)生哪些額外的資源和運營開銷?

每個虛擬集群本質(zhì)上都是一個 K3s/K8s 集群,其中包含所有附加組件,例如安全插件、日志記錄插件、監(jiān)控插件、入口控制器等。當部署更多虛擬集群實例時,每個 vcluster Kubernetes 資源和加載項可能會產(chǎn)生大量開銷。同樣,由于每個虛擬集群本質(zhì)上都是一個 Kubernetes 集群,因此平臺團隊可能會產(chǎn)生額外的開銷來管理這些集群,來進行 Kubernetes 版本更新、補丁管理和附加組件管理。

10、vcluster 是否與實際生產(chǎn)環(huán)境相匹配?

對于某些組織,開發(fā)環(huán)境必須與生產(chǎn)環(huán)境緊密匹配。vcluster 支持其他發(fā)行版,例如 K8s 和 EKS,但平臺團隊必須檢查它是否等效于為接近生產(chǎn)環(huán)境的用例運行獨立集群。例如,EKS 支持許多高級功能,包括第三方 CNI、各種存儲類、自動擴展、IRSA 和附加組件,這些功能在虛擬 EKS 集群中可能不可用。

結(jié)論

對于大多數(shù)平臺團隊來說,基于命名空間的多租戶以及圍繞命名空間生命周期管理、安全性和成本控制的額外自動化,可以解決其多租戶用例。vcluster 解決了 Kubernetes 命名空間多租戶中的一個特定差距,沒有集群級別權(quán)限的最終用戶可以訪問其虛擬集群中的集群范圍對象。平臺團隊必須在內(nèi)部驗證其最終用戶是否存在此類要求,根據(jù)其安全性、合規(guī)性和治理要求,進行徹底的成本效益分析,并圍繞它實施額外的自動化操作,以確保它的成功部署。

責任編輯:趙立京
相關(guān)推薦

2013-06-17 09:54:11

虛擬化服務器虛擬化

2012-11-01 13:49:08

云實施SaaS數(shù)據(jù)中心

2011-05-03 16:58:55

噴墨打印機墨水

2010-02-03 10:21:46

初學Python

2011-08-02 13:08:06

Oracle索引

2022-06-22 10:19:20

員工談判專家

2013-02-26 14:07:52

SQL Server虛擬化

2010-09-16 09:52:49

CSS display

2010-01-14 18:19:40

C++語言

2010-01-26 16:47:47

VC++6.0

2010-01-25 18:12:28

C++

2012-05-11 11:52:20

虛擬化存儲

2010-04-20 14:44:34

桌面虛擬化

2011-05-26 11:22:04

SEO

2009-07-27 12:20:18

ASP.NET頁面

2011-08-04 15:00:46

AmoebaMySQL

2014-01-10 10:36:39

Hypervisor

2019-07-04 22:45:51

云計算云安全網(wǎng)絡安全

2010-01-20 17:58:54

C++靜態(tài)成員

2019-07-05 15:10:44

云計算物聯(lián)網(wǎng)大數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號