共用方式為


Kubernetes 叢集治理

治理是指組織強制執行和驗證規則的能力,以確保符合公司標準。 治理可協助組織降低風險、遵守公司標準和外部法規,以及將採用或創新中斷降至最低。

治理包括規劃計劃、設定策略優先順序,以及使用機制和程式來控制應用程式和資源。 針對雲端環境中的 Kubernetes 叢集,治理表示跨 Kubernetes 叢集和在這些叢集中執行的應用程式實作原則。

Kubernetes 治理包括雲端環境和叢集部署基礎結構,以及叢集本身及其應用程式。 本指南著重於 Kubernetes 叢集內的治理。 本文說明並比較 Amazon Elastic Kubernetes Service (Amazon EKS) 和 Azure Kubernetes Service (AKS) 如何管理 Kubernetes 叢集治理。

注意

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

Kubernetes 治理維度

三個維度會定義一致的 Kubernetes 治理策略:

  • 目標描述治理策略應符合的安全性與合規性原則目標。 例如,目標指定哪些使用者可以存取 Kubernetes 叢集、命名空間或應用程式,或要用於哪些叢集的容器登錄和映像。 安全性作業小組通常會將這些目標設定為定義公司治理策略的第一個步驟。

  • 範圍會詳細說明目標原則套用至的專案。 範圍必須解決所有 Kubernetes 可見的元件。 範圍可以是組織單位,例如部門、小組和群組,或雲端、區域或命名空間等環境,或兩者。

  • 原則指示詞 會使用 Kubernetes 功能,跨指定範圍強制執行目標規則,以強制執行治理原則。

如需詳細資訊,請參閱 Kubernetes 治理、您應該知道的內容。

EKS 和 AKS 中的治理

  • Amazon Web Services (AWS) 客戶通常會使用 Kyverno、Gatekeeper 或其他第三方解決方案來定義及實作其 Amazon EKS 叢集的治理策略。 aws-eks-best-practices/policies GitHub 存放庫包含 Kyverno 和 Gatekeeper 的範例原則集合。

  • Azure 客戶也可以使用 Kyverno 或 Gatekeeper,並使用 Kubernetes 附加元件 Azure 原則 來擴充 AKS 治理策略的 Gatekeeper。

閘道管理員

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

OPA 會使用稱為 Rego 的高階宣告式語言來建立原則,以在個別實例或不同優先順序上從租使用者執行 Pod。 如需一般 OPA 原則的集合,請參閱 OPA 閘道守衛連結庫

Kyverno

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

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

Kyverno 使用 kustomize樣式重迭進行驗證、支援 JSON 修補和策略性合併修補程式的突變,而且可以根據彈性觸發程式跨命名空間複製資源。 您可以使用其 YAML 指令清單個別部署原則,或使用 Helm 圖表封裝並加以部署。

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

如需詳細資訊,請參閱官方 Kyverno 安裝指南。 如需現成或可自定義原則的清單,請參閱 Kyverno 原則 連結庫。 如需疑難解答參考數據(例如 APIServer 失敗的 Webhook 呼叫),請參閱 Kyverno 疑難解答檔

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

AKS 的 Azure 原則 附加元件

AKS 的 Azure 原則 附加元件會擴充 Gatekeeper,以集中且一致的方式在 AKS 叢集上套用大規模強制執行和保護。 Azure 原則 可從單一位置針對多個 Kubernetes 叢集啟用集中式合規性管理和報告。 這項功能可讓多叢集環境的管理和治理,比部署和管理每個叢集的 Kyverno 或 Gatekeeper 更有效率。

AKS 的 Azure 原則 附加元件會制定下列功能:

  • 使用 Azure 原則 服務檢查叢集的原則指派。
  • 將原則定義部署至叢集,作為條件約束範本和條件約束自訂資源。
  • 將稽核和合規性詳細數據回報給 Azure 原則 服務。

Azure 原則 附加元件支援 AKS已啟用 Azure Arc 的 Kubernetes 叢集環境。 如需詳細資訊,請參閱了解適用於 Kubernetes 叢集的 Azure 原則。 若要在新的和現有的叢集上安裝附加元件,請參閱安裝適用於AKS的 Azure 原則 附加元件。

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

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

其他投稿人:

若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。

下一步