Campi ConfigManagement

Questa pagina illustra i diversi campi che puoi impostare nell'oggetto ConfigManagement. 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 ti forniscono ulteriori funzionalità di Config Sync, come la sincronizzazione da più repository. e sulla sincronizzazione delle configurazioni Kustomize e Helm. Il valore predefinito è false.
spec.preventDrift Se true, consente al webhook di ammissione Config Sync di prevenire le deviazioni rifiutando la pubblicazione di modifiche in conflitto cluster. 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 l'opzione deprecata spec.git campi in ConfigManagement mentre utilizzando ancora la modalità multi-repository. 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, 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 il valore su 0 per disabilitare 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 nel controllo. 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. 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 (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 alla directory principale contenente la configurazione da sincronizzare. Valore predefinito: la directory radice repository Git.
spec.git.syncWait La durata 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 utilizzando un tipo di autorizzazione di cookiefile, none o token.

Chiave Descrizione
spec.git.proxy.httpProxy Definisce una variabile d'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.