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

本頁面說明如何在 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. 在「Settings」(設定) 分頁的叢集資料表中,選取「Edit configuration」(編輯設定) 欄中的「Edit」(編輯) 。
  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