Namespaces aus Policy Controller ausschließen

In diesem Thema wird beschrieben, wie Sie einen Namespace mit Policy Controller aus der Erzwingung entfernen, indem Sie ausnahmefähige Namespaces konfigurieren.

Vorbereitung

Haben Sie Anthos Config Management und Policy Controller in Ihrem Cluster.

Ausnahmefähige Namespaces

Durch Konfigurieren eines ausnahmefähigen Namespace kann ein Nutzer die Bezeichnung admission.gatekeeper.sh/ignore anwenden. Wenn Sie einen ausgenommenen Namespace konfigurieren, entfernt Policy Controller die Anwendung dieser Bezeichnung nicht auf einen Namespace.

Namespaces von der Erzwingung ausnehmen

Zur Ausnahme von Namespaces zur Anwendung der Bezeichnung admission.gatekeeper.sh/ignore fügen Sie den Namen des Namespace zum ConfigManagement-Manifest in spec.policyController.exemptableNamespaces hinzu.

# config-management.yaml

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
  namespace: config-management-system
spec:
  # clusterName is required and must be unique among all managed clusters
  clusterName: cluster-name
  # Set to true to install and enable Policy Controller
  policyController:
    enabled: true
    exemptableNamespaces: ["namespace-name"]
...

Sie können mehrere Namespaces ausnehmen. Zur Ausnahme der Namespaces not-applicable und also-not-applicable im Cluster my-cluster wenden Sie das folgende Manifest an:

# config-management.yaml

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
  namespace: config-management-system
spec:
  # clusterName is required and must be unique among all managed clusters
  clusterName: my-cluster
  # Set to true to install and enable Policy Controller
  policyController:
    enabled: true
    exemptableNamespaces: ["not-applicable","also-not-applicable"]
...

Namespace ein Label hinzufügen

Benennen Sie als Nächstes Ihre Namespaces so, dass Anthos Config Management seine Inhalte nicht erzwingt.

kubectl label namespace namespace-name "admission.gatekeeper.sh/ignore=true"