Exclure des espaces de noms de Policy Controller

Cette rubrique explique comment supprimer un espace de noms de l'application forcée avec Policy Controller en configurant les espaces de noms exemptables.

Avant de commencer

Veillez à disposer d'Anthos Config Management et Policy Controller dans votre cluster.

Espaces de noms exemptés

La configuration d'un espace de noms exemptable permet à un utilisateur d'appliquer l'étiquette admission.gatekeeper.sh/ignore. Lorsque vous configurez un espace de noms exemptable, Policy Controller ne supprimera pas l'application de cette étiquette à un espace de noms.

Exempter des espaces de noms de l'application forcée

Pour exempter les espaces de noms afin d'appliquer l'étiquette admission.gatekeeper.sh/ignore, vous ajoutez le nom de l'espace de noms au fichier manifeste ConfigManagement dans 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"]
...

Vous pouvez exempter plusieurs espaces de noms. Par exemple, pour exempter les espaces de noms not-applicable et also-not-applicable dans le cluster my-cluster, vous appliqueriez le fichier manifeste suivant :

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

Ajouter un libellé à l'espace de noms

Ensuite, ajoutez un libellé à vos espaces de noms afin que l'opérateur n'applique pas leur contenu.

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