Campi ConfigManagement

Questa pagina illustra i diversi campi che puoi impostare nell'oggetto ConfigManagement. Puoi utilizzare questo oggetto durante la configurazione di Config Sync con i comandi kubectl. Puoi utilizzare questi campi anche se gestisci Policy Controller con un oggetto ConfigManagement anziché i comandi gcloud di Policy Controller.

Configurazione per le funzionalità di Config Sync

Chiave Descrizione
spec.enableMultiRepo Se true, abilita le API RootSync e RepoSync. Queste API forniscono funzionalità aggiuntive di Config Sync, come la sincronizzazione da più repository. e la sincronizzazione delle configurazioni di Kustomize e Helm. Il valore predefinito è false.
spec.enableLegacyFields Se true, consente l'utilizzo dei campi spec.git deprecati in ConfigManagement pur continuando a utilizzare la modalità multi-repository. L'impostazione di questo campo genera automaticamente una RootSyncrisorsa sul cluster.
spec.preventDrift Se true, consente al webhook di ammissione di Config Sync di prevenire le deviazioni rifiutando il push delle modifiche in conflitto ai cluster attivi. Il valore predefinito è false. Config Sync risolve sempre le deviazioni indipendentemente dal valore di questo campo.

Configurazione per Policy Controller

Chiave Descrizione
spec.policyController.enabled Se true, abilita Policy Controller. Il valore predefinito è false.
spec.policyController.templateLibraryInstalled Se true, installa una libreria di modelli di vincolo per i tipi di criteri comuni. Il valore predefinito è true.
spec.policyController.referentialRulesEnabled Se true, attiva il supporto per i vincoli di riferimento. Assicurati di comprendere le avvertenze sulla coerenza finale. Il valore predefinito è false.
spec.policyController.auditIntervalSeconds Periodo in secondi tra controlli consecutivi di violazioni dei vincoli. Imposta il valore su 0 per disabilitare il controllo. Valore predefinito: 60.
spec.policyController.logDeniesEnabled Se true, registra tutti gli errori di negazione e di prova. Il valore predefinito è false.
spec.policyController.mutation.enabled Se true, abilita il supporto per mutazioni. Il valore predefinito è false.
spec.policyController.exemptableNamespaces Un elenco di spazi dei nomi da rimuovere dall'applicazione forzata del webhook di ammissione di Policy Controller. Eventuali violazioni sono comunque segnalate nel controllo. Il valore predefinito è un elenco vuoto.
spec.policyController.monitoring.backends Un elenco di backend di monitoraggio in cui Policy Controller deve esportare le metriche. Valore predefinito: [cloudmonitoring, prometheus].

Configurazione per il comportamento dell'oggetto ConfigManagement

Chiave Descrizione
spec.clusterName Il nome definito dall'utente per il cluster utilizzato da ClusterSelectors per raggruppare i cluster. È univoco all'interno di un'installazione di Config Sync. Non puoi configurare questo campo nella console Google Cloud.

Oggetto ConfigManagement di esempio

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
spec:
  clusterName: my-cluster
  enableMultiRepo: true

Configurazione per i repository Git (deprecata)

Chiave Descrizione
spec.git.gcpServiceAccountEmail L'account di servizio Google Cloud utilizzato per annotare l'account di servizio Kubernetes del controller RootSync o RepoSync. Questo campo viene utilizzato solo quando spec.git.secretType è gcpserviceaccount.
spec.git.syncRepo L'URL del repository Git da utilizzare come fonte di riferimento. Obbligatorio.
spec.git.syncBranch Il ramo del repository da cui eseguire la sincronizzazione. Valore predefinito: master.
spec.git.policyDir Il percorso nel repository Git della directory root che contiene la configurazione da sincronizzare. Valore predefinito: la directory radice del repository.
spec.git.syncWait La durata tra sincronizzazioni consecutive. Valore predefinito: 15 s.
spec.git.syncRev Revisione Git (tag o hash) da estrarre. HEAD predefinito.
spec.git.secretType Il tipo di secret configurato per l'accesso al repository Git. Uno tra ssh, cookiefile, token, gcenode, gcpserviceaccount o none. Obbligatorio.
spec.sourceFormat Il formato del tuo repository Git. Può essere unstructured o hierarchy. Valore predefinito: hierarchy.

Configurazione del proxy per il repository Git

Se i criteri di sicurezza della tua organizzazione richiedono di instradare il traffico tramite un proxy HTTP(S), puoi utilizzare l'URI del proxy per configurare Config Sync in modo da comunicare con il tuo host Git. Il proxy è supportato solo quando si utilizza un tipo di autorizzazione cookiefile, none o token.

Chiave Descrizione
spec.git.proxy.httpProxy Definisce una variabile di ambiente HTTP_PROXY utilizzata per accedere al repository Git.
spec.git.proxy.httpsProxy Definisce una variabile di ambiente HTTPS_PROXY utilizzata per accedere al repository Git.

Se vengono specificati entrambi i campi httpProxy e httpsProxy, il valore httpProxy viene ignorato.