Excluye espacios de nombres del Controlador de políticas

Este tema describe cómo quitar un espacio de nombres de la aplicación con el controlador de políticas mediante la configuración de espacios de nombres exentos.

Antes de comenzar

Tenga Anthos Config Management y al controlador e políticas en su clúster.

Espacio de nombres exento

La configuración de un espacio de nombres exento le permite al usuario aplicar la etiqueta admission.gatekeeper.sh/ignore. Cuando configura un espacio de nombres exento, el controlador de políticas no moverá la aplicación de esta etiqueta a un espacio de nombres.

Exime espacios de nombres de la aplicación

Para eximir los espacios de nombres para que pueda aplicar la etiqueta admission.gatekeeper.sh/ignore, agregue el nombre del espacio de nombres al manifiesto de ConfigManagement en spec.policyController.exemptableNamespaces.

# 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"]
...

Puede eximir múltiples espacios de nombres. Por ejemplo, para eximir los espacios de nombres not-applicable y also-not-applicable en el clúster my-cluster, aplicaría el siguiente manifiesto:

# 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"]
...

Etiqueta el espacio de nombres

A continuación, etiquete sus espacios de nombres para que el operador no aplique sus contenidos.

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