Excluye espacios de nombres del webhook de admisión del controlador de políticas

En este tema, se describe cómo quitar un espacio de nombres de la aplicación de webhook con el controlador de políticas mediante la configuración de espacios de nombres exentos. Las infracciones se informarán en auditoría.

Antes de comenzar

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

Espacios de nombres que se pueden eximir

La configuración de un espacio de nombres que se puede eximir le permite al usuario aplicar la etiqueta admission.gatekeeper.sh/ignore. Si luego quitas un espacio de nombres exento, el controlador de políticas no quitará la aplicación de esta etiqueta a ese espacio de nombres.

Exime espacios de nombres de la aplicación

Para eximir espacios de nombres a fin de aplicar la etiqueta admission.gatekeeper.sh/ignore, debes agregar 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"]
...

Puedes eximir varios espacios de nombres. Por ejemplo, para eximir los espacios de nombres not-applicable y also-not-applicable en el clúster my-cluster, debes aplicar 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, etiqueta tus espacios de nombres para que el webhook de admisión de Anthos Config Management no aplique su contenido.

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