Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird beschrieben, wie ausgenommene Namespaces in Policy Controller konfiguriert werden.
Wird ein Namespace als “ausgenommen” bestimmt, so wird er aus der Zulassungs-Webhook-Erzwingung mit Policy Controller entfernt. Verstöße werden jedoch weiterhin in Audit vermerkt. Wenn Sie keine Namespaces konfigurieren, ist nur der Namespace gatekeeper-system als von der Erzwingung des Policy Controller-Zulassungs-Webhooks ausgenommen präkonfiguriert.
Ausgenommene Namespaces konfigurieren
Durch Konfigurieren eines ausnahmefähigen Namespace können Sie das Label admission.gatekeeper.sh/ignore anwenden, um den Namespace von der Erzwingung des Policy Controller-Zulassungs-Webhooks auszunehmen. Wenn Sie später einen ausgenommenen Namespace entfernen, entfernt Policy Controller das Label admission.gatekeeper.sh/ignore nicht aus dem Namespace.
Namespaces von der Erzwingung ausnehmen
Sie können Namespaces während der Installation von Policy Controller oder nach der Installation ausschließen. Der folgende Prozess zeigt, wie Sie Namespaces nach der Installation ausschließen.
Console
Rufen Sie in der Google Cloud Console im Abschnitt Statusverwaltung die Seite GKE Enterprise-Richtlinie auf.
Wählen Sie auf dem Tab Einstellungen in der Clustertabelle in der Spalte Konfiguration bearbeiten die Option Bearbeitenedit aus.
Maximieren Sie das Menü Policy Controller-Konfiguration bearbeiten.
Geben Sie im Feld Ausnahmefähige Namespaces eine Liste gültiger Namespaces an.
Objekte in diesen Namespaces werden von allen Richtlinien ignoriert. Die Namespaces müssen noch nicht vorhanden sein.
Wählen Sie Änderungen speichern aus.
gcloud Policy Controller
Führen Sie den folgenden Befehl aus, um der Liste der Namespaces Namespaces hinzuzufügen, die vom Zulassungs-Webhook von der Erzwingung ausgenommen werden können:
MEMBERSHIP_NAME: Name der Mitgliedschaft des registrierten Clusters, für den Namespaces ausgenommen werden sollen. Sie können mehrere Mitgliedschaften durch Kommas getrennt angeben.
NAMESPACE_LIST: Kommagetrennte Liste der Namespaces, für die Policy Controller von der Erzwingung ausgenommen werden soll.
Mit diesem Befehl werden nur Ressourcen vom Zulassungs-Webhook ausgenommen. Die Ressourcen werden weiterhin geprüft. Wenn Sie stattdessen Namespaces vom Audit ausschließen möchten, legen Sie die Ausnahme auf Richtlinien-Bundle-Ebene fest:
BUNDLE_NAME durch den Namen des Richtlinien-Bundles, das Sie mit ausgenommenen Namespaces aktualisieren möchten.
MEMBERSHIP_NAME: Name der Mitgliedschaft des registrierten Clusters, für den Namespaces ausgenommen werden sollen. Sie können mehrere Mitgliedschaften durch Kommas getrennt angeben.
NAMESPACE_LIST: Kommagetrennte Liste der Namespaces, für die Policy Controller von der Erzwingung ausgenommen werden soll.
gcloud-ConfigManagement
Um einen Namespace von der Erzwingung auszunehmen, fügen Sie den Namen des Namespace zu spec.policyController.exemptableNamespaces hinzu:
# apply-spec.yamlapplySpecVersion:1spec:# Set to true to install and enable Policy ControllerpolicyController:enabled:trueexemptableNamespaces:["NAMESPACE_NAME"]...
Ersetzen Sie NAMESPACE_NAME durch den Namen des Namespace, den Sie von der Erzwingung ausnehmen möchten.
Sie können auch für mehrere Namespaces eine Ausnahme festlegen. Um beispielsweise die Namespaces not-applicable und also-not-applicable hinzuzufügen, wenden Sie das folgende Manifest an:
# apply-spec.yamlapplySpecVersion:1spec:# Set to true to install and enable Policy ControllerpolicyController:enabled:trueexemptableNamespaces:["not-applicable","also-not-applicable"]...
Wenden Sie die Änderungen auf die Datei apply-spec.yaml an:
MEMBERSHIP_NAME: Fügen Sie den registrierten Cluster hinzu, auf den Sie diese Konfiguration anwenden möchten. Wenn Sie den Cluster in der Google Cloud Console registriert haben, entspricht der Name der Mitgliedschaft dem Namen Ihres Clusters.
CONFIG_YAML: Fügen Sie den Pfad zur Datei apply-spec.yaml hinzu.
PROJECT_ID: Fügen Sie Ihre Projekt-ID hinzu.
Kennzeichnen Sie den ausnahmefähigen Namespace mit einem Label, damit der Zulassungs-Webhooks von Policy Controller keine Inhalte erzwingt:
Ersetzen Sie NAMESPACE_NAME durch den Namen des Namespace, den Sie von der Erzwingung ausnehmen möchten.
Namespaces, die von der Erzwingung ausgenommen werden sollen
Dies sind verschiedene Namespaces, die von Google Kubernetes Engine (GKE) und zugehörigen Produkten erstellt werden können. Es empfiehlt sich, diese von der Erzwingung auszunehmen, um unerwünschte Auswirkungen zu vermeiden:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-04-14 (UTC)."],[],[],null,["This page describes how to configure exempt namespaces in Policy Controller.\n| **Caution:** Namespace exemption from the admission webhook is possible only on Standard clusters. For Autopilot clusters, you can [define exemptions on the constraint](/kubernetes-engine/enterprise/policy-controller/docs/how-to/creating-policy-controller-constraints#constraint) instead.\n\nExempt namespaces remove a namespace from admission webhook enforcement with\nPolicy Controller, but any violations are still reported in\n[audit](/kubernetes-engine/enterprise/policy-controller/docs/how-to/auditing-constraints). If you don't configure any\nnamespaces, only the `gatekeeper-system` namespace is pre-configured as exempt\nfrom the Policy Controller admission webhook enforcement.\n\nConfigure exempt namespaces\n\nConfiguring an exemptable namespace applies the\n`admission.gatekeeper.sh/ignore` label, which exempts the namespace from Policy Controller\nadmission webhook enforcement. If you later remove an exemptable namespace,\nPolicy Controller does not remove the `admission.gatekeeper.sh/ignore` label\nfrom the namespace.\n\nExempt namespaces from enforcement\n\nYou can exempt namespaces either\n[during Policy Controller installation](/kubernetes-engine/enterprise/policy-controller/docs/how-to/installing-policy-controller#installing),\nor after installation. The following process shows you how to exempt namespaces\nafter installation. \n\nConsole\n\n1. In the Google Cloud console, go to the **Policy** page under the **Posture Management** section.\n\n \u003cbr /\u003e\n\n [Go to Policy](https://console.cloud.google.com/kubernetes/policy_controller)\n2. Under the **Settings** tab, in the cluster table, select **Edit** *edit* in the **Edit configuration** column.\n3. Expand the **Edit Policy Controller configuration** menu.\n4. In the **Exempt namespaces** field, provide a list of valid namespaces. Objects in these namespaces are ignored by all policies. The namespaces don't need to exist yet.\n5. Select **Save changes**.\n\ngcloud\n\nTo add namespaces to the list of namespaces that may be exempted from\nenforcement by the admission webhook, run the following command: \n\n gcloud container fleet policycontroller update \\\n --memberships=\u003cvar translate=\"no\"\u003eMEMBERSHIP_NAME\u003c/var\u003e \\\n --exemptable-namespaces=[\u003cvar translate=\"no\"\u003eNAMESPACE_LIST\u003c/var\u003e]\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eMEMBERSHIP_NAME\u003c/var\u003e: the membership name of the registered cluster to exempt namespaces on. You can specify multiple memberships separated by a comma.\n- \u003cvar translate=\"no\"\u003eNAMESPACE_LIST\u003c/var\u003e: a comma-separated list of namespaces that you want Policy Controller to exempt from enforcement.\n\nThis command exempts resources only from the admission webhook. The resources\nare still audited. To instead exempt namespaces from audit, set the\nexemption at the policy bundle level instead: \n\n gcloud container fleet policycontroller content bundles set \u003cvar translate=\"no\"\u003eBUNDLE_NAME\u003c/var\u003e \\\n --memberships=\u003cvar translate=\"no\"\u003eMEMBERSHIP_NAME\u003c/var\u003e \\\n --exempted-namespaces=[\u003cvar translate=\"no\"\u003eNAMESPACE_LIST\u003c/var\u003e]\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eBUNDLE_NAME\u003c/var\u003e with the name of the policy bundle that you want to update with exempted namespaces.\n- \u003cvar translate=\"no\"\u003eMEMBERSHIP_NAME\u003c/var\u003e: the membership name of the registered cluster to exempt namespaces on. You can specify multiple memberships separated by a comma.\n- \u003cvar translate=\"no\"\u003eNAMESPACE_LIST\u003c/var\u003e: a comma-separated list of namespaces that you want Policy Controller to exempt from enforcement.\n\nNamespaces to exempt from enforcement\n\nThese are some namespaces which could be created by Google Kubernetes Engine (GKE)\nand related products. You may want to exempt them from enforcement to avoid\nundesired impact: \n\n - anthos-creds\n - anthos-identity-service\n - apigee\n - apigee-system\n - asm-system\n - capi-kubeadm-bootstrap-system\n - capi-system\n - cert-manager\n - cnrm-system\n - config-management-monitoring\n - config-management-system\n - gke-connect\n - gke-gmp-system\n - gke-managed-cim\n - gke-managed-filestorecsi\n - gke-managed-metrics-server\n - gke-managed-system\n - gke-system\n - gmp-public\n - gmp-system\n - hnc-system\n - istio-system\n - kube-node-lease\n - kube-public\n - kube-system\n - poco-trial\n - resource-group-system\n - vm-system"]]