共用方式為


Azure Kubernetes Service (AKS) 中叢集隔離的最佳做法

您在管理 Azure Kubernetes Service (AKS) 中的叢集時,往往需要隔離小組和工作負載。 AKS 讓您靈活執行多租用戶叢集和隔離資源。 若要在 Kube 投資方面獲得最大收益,請務必了解 AKS 多租用戶和隔離功能。

這個最佳做法文章著重於叢集操作員的隔離操作。 在本文中,您將學會如何:

  • 規劃多租用戶叢集和資源隔離。
  • 在 AKS 叢集中使用邏輯或實體隔離。

設計多租用戶的叢集

Kubernetes 可讓您邏輯式隔離相同叢集中的小組和工作負載。 目標是提供最少數量的權限,並將其範圍限制在每個小組需要的資源。 Kubernetes 命名空間會建立邏輯隔離界限。 隔離和多租用戶的其他 Kube 功能和注意事項如下:

正在排程

排程使用資源配額和 Pod 中斷預算等基本功能。 如需這些功能的詳細資訊,請參閱 AKS 中基本排程器功能的最佳做法

進階排程器功能包含:

  • 污點和容忍。
  • 節點選取器。
  • 節點及 Pod 親和性或反親和性。

如需這些功能的詳細資訊,請參閱 AKS 中進階排程器功能的最佳做法

網路

網路使用網路原則來控制 Pod 流入和流出流量。

如需詳細資訊,請參閱在 AKS 中使用網路原則來保護 Pod 之間的流量

驗證與授權

驗證與授權

  • 角色型存取控制 (RBAC)。
  • Microsoft Entra 整合。
  • Pod 身分識別。
  • Azure Key Vault 中的祕密。

如需這些功能的詳細資訊,請參閱 AKS 中驗證和授權的最佳做法

容器

容器包含:

  • AKS 的 Azure 原則附加元件。用於強制執行 Pod 安全性。
  • Pod 安全性許可。
  • 掃描影像及執行階段,檢查是否有弱點。
  • 使用 App Armor 或 Seccomp (安全運算) 以限制容器存取基礎節點。

邏輯隔離叢集

最佳做法指導

使用邏輯隔離來分隔小組和專案。 盡量減少隔離小組或應用程式所部署的實體 AKS 叢集數。

透過邏輯隔離,您可以針對多個工作負載、小組或環境使用單一 AKS 叢集。 Kube 命名空間構成了工作負載和資源的邏輯隔離界限。

AKS 中 Kubernetes 叢集的邏輯隔離

叢集的邏輯區隔通常提供比實體隔離叢集更高的 Pod 密度,且叢集中的計算容量不足。 與 Kubernetes 叢集自動調整程式結合時,您可以相應增加或減少節點數目以符合需求。 這個最佳做法方法只會執行所需的節點數目,將成本降至最低。

就多租用戶惡意使用方式而言,Kube 環境並不完全安全。 在多租用戶環境中,多個租用戶會共用同一個基礎結構。 若無法信任所有租用戶,您需要額外規劃,以防有租用戶影響其他租用戶的安全性和服務。

其他安全性功能(例如適用於節點的 Kube RBAC)可有效阻擋惡意探索。 執行嚴格控管式多租用戶工作負載時,若要真正確保安全性,應只信任 Hypervisor。 Kube 的安全性網域會成為整個叢集,而不是單一節點。

針對這些類型的惡意多租用戶工作負載,您應該使用實際隔離的叢集。

實體隔離叢集

最佳做法指導

請盡量少用各獨立團隊或應用程式部署的實體隔離;請改用邏輯隔離。

實際分隔 AKS 叢集為叢集隔離的常見方法。 在此隔離模型中,小組或工作負載會獲派自己的 AKS 叢集。 實體隔離看起來雖是隔離工作負載或小組最簡單的方式,但也會增加管理和財務上的額外負荷。 若採用實體隔離叢集,您必須維護多個叢集並單獨提供存取和指派權限。 您也需要為每個單一節點付費。

AKS 中個別 Kubernetes 叢集的實體隔離

實體隔離叢集的 Pod 密度通常較低。 由於每個小組或工作負載皆有自己的 AKS 叢集,因此叢集往往會過度佈建運算資源。 通常會在這些節點上安排一些 Pod。 其他小組也無法使用未宣告的節點容量來開發應用程式或服務。 多餘的資源會增加實體隔離叢集的成本。

下一步

本文著重於叢集隔離。 有關 AKS 中叢集作業的詳細資訊,請參閱以下最佳做法的相關文章: