共用方式為


Kubernetes 叢集治理

治理是指組織強制執行和驗證規則的能力,以協助保證公司標準的合規性。 治理幫助組織降低風險、遵守公司標準和外部法規,並盡量減少對採用或創新的干擾。

治理包括規劃倡議、設定戰略優先事項,以及利用機制和流程來控制應用程序和資源。 在雲端環境中,針對 Kubernetes 叢集,治理意味著在 Kubernetes 叢集及其中運行的應用程式內實施政策。

Kubernetes 治理包括雲端環境、叢集部署基礎結構、叢集本身,以及叢集的應用程式。 本指南專注於 Kubernetes 集群中的治理。 本文比較 Amazon Elastic Kubernetes Service (EKS) 和 Azure Kubernetes Service (AKS) Kubernetes 叢集治理。

注意

本文是一系列文章的一部分,可協助熟悉 Amazon EKS 的專業人員瞭解 Azure Kubernetes Service (AKS)。

Kubernetes 治理維度

三個層面定義一致的 Kubernetes 治理策略:

  • 目標 定義您的治理策略中的安全性與合規性政策目標。 例如,目標可以指定哪些使用者可以存取 Kubernetes 叢集、命名空間或應用程式。 或者,他們可以指定容器註冊表和映像檔,以決定在何種叢集中使用。 您的安全性作業小組通常會將這些目標設定為定義公司治理策略的第一個步驟。

  • 範圍詳細說明目標政策適用的元素。 範圍必須涵蓋所有 Kubernetes 可見的元件。 範圍包括組織單位,例如部門、小組和群組或環境,例如雲端、區域或命名空間。

  • 政策指令 會使用 Kubernetes 功能,在指定範圍內強制執行目標規則,這有助於實施治理政策。

如需詳細資訊,請參閱 Kubernetes 治理

EKS 和 AKS 中的治理

守門員

Cloud Native Computing Foundation (NCF) 會贊助開放原始碼 Gatekeeper 工具,以協助在 Kubernetes 叢集中強制執行原則。 Gatekeeper 是 Kubernetes 許可控制器,可協助強制執行您使用 開放式原則代理程式 (OPA) 建立的原則,這是一般用途的原則引擎。

OPA 使用一種稱為 Rego 的高階宣告式語言,來制定政策,以便能在不同的實例上或以不同的優先順序運行租戶的 pod。 如需一般 OPA 政策的集合,請參閱 OPA Gatekeeper 庫

Kyverno

CNCF 也贊助 Kyverno 開放原始碼專案,其有助於在 Kubernetes 叢集中強制執行原則。 Kyverno 是 Kubernetes 原生原則引擎,可使用原則來驗證、變動及產生 Kubernetes 資源設定。

使用 Kyverno 定義和管理 Kubernetes 資源的原則,而不需使用新語言。 您可以使用熟悉的工具來管理原則,例如 kubectlgitkustomize

Kyverno 具有下列功能:

  • 使用 kustomize 樣式疊加進行驗證
  • 支援 JSON 修補和策略性合併修補以進行變更
  • 根據彈性觸發程式複製各命名空間的資源

若要個別部署原則,請使用原則 YAML 指令清單。 若要封裝和部署原則,請使用 Helm 圖表。

與 AKS 的 Gatekeeper 或 Azure 原則不同,Kyverno 可以使用原則來產生新的 Kubernetes 物件,而不只是驗證或變動現有的資源。 例如,您可以定義 Kyverno 原則,以自動建立新命名空間的預設網路原則。

您可以選擇性地將 Kyverno 的 Kubernetes Pod 安全性標準 實作部署為 Kyverno 原則。 Pod 安全性標準控件提供一般 Kubernetes 叢集作業安全性的起點。

AKS 的 Azure 原則附加元件

AKS 的 Azure Policy 附加元件會擴充 Gatekeeper,這是 OPA 的准入控制器 Webhook。 此附加元件會以集中式、一致的方式,在叢集元件上套用大規模強制執行和保護。 叢集元件包括Pod、容器和命名空間。 Azure 原則 提供多個 Kubernetes 叢集的集中式合規性管理和報告。 相較於部署和管理每個叢集的 Kyverno 或 Gatekeeper,此功能可簡化多叢集環境的管理和治理。

AKS 的 Azure 原則附加元件會執行下列功能:

  • 它會使用 Azure 原則來檢查叢集的原則指派。

  • 它會將原則定義部署至叢集,作為條件約束範本和條件約束自定義資源。

  • 它會將稽核和合規性詳細數據回報回 Azure 原則。

Azure 原則附加元件與 AKS已啟用 Azure Arc 的 Kubernetes 叢集環境相容。 如需詳細資訊,請參閱了解適用於 Kubernetes 叢集的 Azure 原則

若要在新的和現有的叢集上安裝附加元件,請遵循 安裝指示

安裝適用於 AKS 的 Azure 原則附加元件之後,您可以將個別的原則定義或原則定義群組套用至 AKS 叢集,稱為 計劃。 您可以從一開始就強制執行 Azure 原則內建原則和方案定義 。 或者,您可以執行 必要的步驟來建立並指派自己的自定義原則定義。 Azure 原則內建安全策略可增強 AKS 叢集的安全性狀態、強制執行組織標準,以及大規模評估合規性。

貢獻者

本文由 Microsoft 維護。 下列參與者撰寫本文。

主要作者:

其他貢獻者:

若要查看非公開的 LinkedIn 個人檔案,請登入 LinkedIn。

下一步驟