Campi ConfigManagement

Questa pagina illustra i diversi campi che puoi impostare nell'oggetto ConfigManagement. Puoi utilizzare questo oggetto quando configuri Config Sync utilizzando i comandi kubectl.

Configurazione per le funzionalità di Config Sync

Chiave Descrizione
spec.enableMultiRepo Se true, abilita le API RootSync e RepoSync. Queste API ti forniscono ulteriori funzionalità di Config Sync, come la sincronizzazione da più repository. e sincronizzare le configurazioni di 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 derive, 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 del comportamento dell'oggetto ConfigManagement

Chiave Descrizione
spec.clusterName Il nome definito dall'utente per il cluster utilizzato da ClusterSelectors per agrupare i cluster. Unico 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 (non più supportata)

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 alla directory principale contenente la configurazione da 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. Valore predefinito HEAD.
spec.git.secretType Il tipo di secret configurato per l'accesso al repository Git. Uno dei seguenti valori: ssh, cookiefile, token, gcenode, gcpserviceaccount o none. Obbligatorio.
spec.sourceFormat Il formato del 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 che comunichi con l'host Git. Il proxy è supportato solo se 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, httpProxy viene ignorato.

Configurazione per Policy Controller (non supportata)

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, abilita il supporto dei 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 in cui Policy Controller deve esportare le metriche. Valore predefinito: [cloudmonitoring, prometheus].