Campi ConfigManagement

Questa pagina illustra i diversi campi che puoi impostare nel ConfigManagement oggetto. Puoi utilizzare questo oggetto quando configuri la sincronizzazione della configurazione utilizzando i comandi kubectl. Puoi utilizzare anche questi campi se gestisci Policy Controller con un 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 fornirti ulteriori funzionalità di Config Sync, la sincronizzazione da più repository. e sulla sincronizzazione delle configurazioni Kustomize e Helm. Il valore predefinito è false.
spec.preventDrift Se true, consente all'webhook di ammissione di Config Sync di evitare gli scostamenti rifiutando l'invio di modifiche in conflitto ai cluster in produzione. Il valore predefinito è false. Config Sync corregge sempre le deviazioni indipendentemente dal valore di questo campo.
spec.enableLegacyFields (Shutdown in 1.19.0) Se true, consente di utilizzare i campi spec.git ritirati in ConfigManagement, pur continuando a utilizzare la modalità multi-repo. L'impostazione di questo campo genera automaticamente una risorsa RootSync sul cluster.

Configurazione per Policy Controller

Chiave Descrizione
spec.policyController.enabled Se true, attiva Policy Controller. Il valore predefinito è false.
spec.policyController.templateLibraryInstalled Se true, viene installata una libreria di modelli di vincolo per i tipi di norme comuni. Il valore predefinito è true.
spec.policyController.referentialRulesEnabled Se true, attiva il supporto per i vincoli referenziali. Assicurati di aver compreso i limiti della coerenza finale. Il valore predefinito è false.
spec.policyController.auditIntervalSeconds Periodo in secondi tra controlli consecutivi delle violazioni delle limitazioni. Imposta su 0 per disattivare il controllo. Valore predefinito: 60.
spec.policyController.logDeniesEnabled Se true, vengono registrati tutti i rifiuti e gli errori di prova. Il valore predefinito è false.
spec.policyController.mutation.enabled Se true, abilita il supporto per le mutazioni. Il valore predefinito è false.
spec.policyController.exemptableNamespaces Un elenco di spazi dei nomi da rimuovere dall'applicazione del webhook di ammissione di Policy Controller. Eventuali violazioni vengono comunque segnalate nell'audit. Il valore predefinito è un elenco vuoto.
spec.policyController.monitoring.backends Un elenco di backend di monitoraggio che possono essere esportati da Policy Controller le metriche. Valore predefinito: [cloudmonitoring, prometheus].

Configurazione del comportamento dell'oggetto ConfigManagement

Chiave Descrizione
spec.clusterName Il nome definito dall'utente per il cluster utilizzato da ClusterSelectors per per raggruppare i cluster. Univoco in Config Sync dell'installazione. 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 (non più supportata)

Chiave Descrizione
spec.git.gcpServiceAccountEmail L'account di servizio Google Cloud utilizzato per annotare le registrazioni RootSync o Account di servizio Kubernetes del controller RepoSync. Questo campo è 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 radice che contiene configurazione che vuoi sincronizzare. Valore predefinito: la directory radice del repository.
spec.git.syncWait La durata del tempo tra sincronizzazioni consecutive. Valore predefinito: 15 secondi.
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 di 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 a un proxy HTTP(S), puoi utilizzare l'URI del proxy per configurare Config Sync per comunicare con il tuo host Git. Il proxy è supportato solo se utilizzando un tipo di autorizzazione di 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 d'ambiente HTTPS_PROXY utilizzata per accedere al repository Git.

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