將命名空間排除在政策控制器之外

本頁面說明如何在 Policy Controller 中設定豁免命名空間。

豁免命名空間會從 Policy Controller 的許可 Webhook 強制執行作業中移除命名空間,但系統仍會在稽核中回報任何違規事項。如果您未設定任何命名空間,系統只會預先設定 gatekeeper-system 命名空間,使其免受 Policy Controller 許可 Webhook 強制執行。

設定豁免命名空間

設定可豁免的命名空間會套用 admission.gatekeeper.sh/ignore 標籤,讓命名空間免受 Policy Controller 許可 Webhook 強制執行。如果您之後移除可豁免的命名空間,Policy Controller 不會從命名空間中移除 admission.gatekeeper.sh/ignore 標籤。

豁免命名空間,不強制執行政策

您可以在安裝 Policy Controller 時或安裝後,豁免命名空間。以下程序說明如何在安裝後豁免命名空間。

控制台

  1. 在 Google Cloud 控制台的「防護機制管理」專區,前往「政策」頁面。

    前往「政策」

  2. 在「設定」分頁的叢集表格中,選取「編輯設定」欄中的「編輯」
  3. 展開「編輯 Policy Controller 設定」選單。
  4. 在「Exempt namespaces」(豁免命名空間) 欄位中,提供有效命名空間的清單。 所有政策都會忽略這些命名空間中的物件。命名空間不一定要現在就存在。
  5. 選取「儲存變更」

gcloud

如要將命名空間新增至可豁免於准入 Webhook 強制執行的命名空間清單,請執行下列指令:

  gcloud container fleet policycontroller update \
    --memberships=MEMBERSHIP_NAME \
    --exemptable-namespaces=NAMESPACE_LIST

更改下列內容:

  • MEMBERSHIP_NAME:要豁免命名空間的已註冊叢集成員名稱。你可以指定多個會員方案,並以半形逗號分隔。
  • NAMESPACE_LIST:以逗號分隔的命名空間清單,您希望 Policy Controller 不要強制執行這些命名空間。

這項指令只會免除資源的許可控制器 Webhook。資源仍在稽核中。如要改為將命名空間排除在稽核範圍之外,請在政策套件層級設定豁免:

  gcloud container fleet policycontroller content bundles set BUNDLE_NAME \
    --memberships=MEMBERSHIP_NAME \
    --exempted-namespaces=NAMESPACE_LIST

更改下列內容:

  • BUNDLE_NAME 替換為要更新的政策套件名稱,並加入豁免的命名空間。
  • MEMBERSHIP_NAME:要豁免命名空間的已註冊叢集成員名稱。你可以指定多個會員方案,並以半形逗號分隔。
  • NAMESPACE_LIST:以逗號分隔的命名空間清單,您希望 Policy Controller 不要強制執行這些命名空間。

要排除在違規處置之外的命名空間

以下列出常見的系統命名空間,您可能想將這些命名空間從強制執行中排除,以免發生阻礙升級等非預期行為。請注意,底下僅列出部分示例:

- anthos-creds
- anthos-identity-service
- apigee
- apigee-system
- asm-system
- capi-kubeadm-bootstrap-system
- capi-system
- cert-manager
- cnrm-system
- config-management-monitoring
- config-management-system
- gke-connect
- gke-gmp-system
- gke-managed-cim
- gke-managed-filestorecsi
- gke-managed-metrics-server
- gke-managed-system
- gke-system
- gmp-public
- gmp-system
- hnc-system
- istio-system
- kube-node-lease
- kube-public
- kube-system
- poco-trial
- resource-group-system
- vm-system
- krmapihosting-system
- krmapihosting-monitoring