Escludi gli spazi dei nomi da Policy Controller

Questa pagina descrive come configurare gli spazi dei nomi esenti in Policy Controller.

Gli spazi dei nomi esenti rimuovono uno spazio dei nomi dall'applicazione del webhook di ammissione con Policy Controller, ma le eventuali violazioni vengono comunque segnalate in di controllo. Se non configuri alcuna solo lo spazio dei nomi gatekeeper-system è preconfigurato come esente dall'applicazione del webhook di ammissione di Policy Controller.

Configura spazi dei nomi esenti

La configurazione di uno spazio dei nomi esentabile consente di applicare Etichetta admission.gatekeeper.sh/ignore per escludere lo spazio dei nomi da Policy Controller dell'applicazione forzata del webhook di ammissione. Se in seguito rimuovi uno spazio dei nomi esentabile, Policy Controller non rimuove l'etichetta admission.gatekeeper.sh/ignore dallo spazio dei nomi.

Escludi spazi dei nomi esenti dall'applicazione

Puoi escludere gli spazi dei nomi durante l'installazione di Policy Controller, o dopo l'installazione. Il seguente processo mostra come escludere gli spazi dei nomi dopo l'installazione.

Console

  1. Nella console Google Cloud, vai alla pagina Criteri di GKE Enterprise nella sezione Gestione della postura.

    Vai al criterio

  2. Nella tabella dei cluster della scheda Impostazioni, seleziona Modifica. nella colonna Modifica configurazione.
  3. Espandi il menu Modifica configurazione di Policy Controller.
  4. Nel campo Spazi dei nomi esenti, fornisci un elenco di spazi dei nomi validi. Gli oggetti in questi spazi dei nomi vengono ignorati da tutti i criteri. Gli spazi dei nomi non devono ancora esistere.
  5. Seleziona Salva modifiche.

gcloud Policy Controller

Per aggiungere spazi dei nomi all'elenco di quelli che possono essere esenti da da parte del webhook di ammissione, esegui questo comando:

  gcloud container fleet policycontroller update \
    --memberships=MEMBERSHIP_NAME \
    --exemptable-namespaces=[NAMESPACE_LIST]

Sostituisci quanto segue:

  • MEMBERSHIP_NAME: il nome dell'abbonamento di il cluster registrato per escludere gli spazi dei nomi. Puoi specificare più separate da una virgola.
  • NAMESPACE_LIST: un elenco di spazi dei nomi separati da virgole che vuoi che Policy Controller esentasse dall'applicazione.

Questo comando esclude le risorse solo dal webhook di ammissione. Le risorse vengono ancora sottoposti a controlli. Per escludere gli spazi dei nomi dal controllo, imposta il valore a livello di pacchetto di criteri:

  gcloud container fleet policycontroller content bundles set BUNDLE_NAME \
    --memberships=MEMBERSHIP_NAME \
    --exempted-namespaces=[NAMESPACE_LIST]

Sostituisci quanto segue:

  • BUNDLE_NAME con il nome del bundle di criteri che vuoi aggiornare con spazi dei nomi esenti.
  • MEMBERSHIP_NAME: il nome dell'abbonamento di il cluster registrato per escludere gli spazi dei nomi. Puoi specificare più separate da una virgola.
  • NAMESPACE_LIST: un elenco di spazi dei nomi separati da virgole che vuoi che Policy Controller esentasse dall'applicazione.

gcloud ConfigManagement

  1. Per escludere uno spazio dei nomi dall'applicazione, aggiungi il nome dello spazio dei nomi in spec.policyController.exemptableNamespaces:

    # apply-spec.yaml
    
    applySpecVersion: 1
    spec:
      # Set to true to install and enable Policy Controller
      policyController:
        enabled: true
        exemptableNamespaces: ["NAMESPACE_NAME"]
    ...
    

    Sostituisci NAMESPACE_NAME con il nome dello spazio dei nomi che vuoi escludere l'applicazione forzata.

    Puoi anche escludere più spazi dei nomi. Ad esempio, per aggiungere spazi dei nomi not-applicable e also-not-applicable, applicheresti quanto segue manifest:

    # apply-spec.yaml
    
    applySpecVersion: 1
    spec:
      # Set to true to install and enable Policy Controller
      policyController:
        enabled: true
        exemptableNamespaces: ["not-applicable","also-not-applicable"]
    ...
    
  2. Applica le modifiche al file apply-spec.yaml:

     gcloud beta container fleet config-management apply \
         --membership=MEMBERSHIP_NAME \
         --config=CONFIG_YAML \
         --project=PROJECT_ID
    

    Sostituisci quanto segue:

    • MEMBERSHIP_NAME: aggiungi il cluster registrato che vuoi a cui applicare questa configurazione. Se hai registrato il cluster nel cluster nella console Google Cloud, il nome dell'appartenenza corrisponde a quello del tuo in un cluster Kubernetes.
    • CONFIG_YAML: aggiungi il percorso al tuo file apply-spec.yaml.
    • PROJECT_ID: aggiungi il tuo ID progetto.
  3. Etichetta lo spazio dei nomi esentabile in modo che il webhook di ammissione di Policy Controller non ne applica i contenuti:

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

    Sostituisci NAMESPACE_NAME con il nome dello spazio dei nomi che vuoi escludere l'applicazione forzata.

Spazi dei nomi da escludere dall'applicazione

Questi sono alcuni spazi dei nomi che potrebbero essere creati da Google Kubernetes Engine (GKE) e prodotti correlati. Ti consigliamo di esentarli dall'applicazione per evitare Impatto indesiderato:

- anthos-creds
- anthos-identity-service
- apigee
- apigee-system
- asm-system
- capi-kubeadm-bootstrap-system
- capi-system
- cert-manager
- cnrm-system
- config-management-monitoring
- config-management-system
- gke-connect
- gke-gmp-system
- gke-managed-cim
- gke-managed-filestorecsi
- gke-managed-metrics-server
- gke-managed-system
- gke-system
- gmp-public
- gmp-system
- hnc-system
- istio-system
- kube-node-lease
- kube-public
- kube-system
- poco-trial
- resource-group-system
- vm-system