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. Puoi utilizzare questi campi anche se gestisci Policy Controller con un oggetto ConfigManagement anziché con 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 ulteriori funzionalità di Config Sync, come la sincronizzazione da più repository. e sulla sincronizzazione delle configurazioni Kustomize e Helm. Il valore predefinito è false.
spec.enableLegacyFields Se true, viene attivato l'utilizzo dei campi spec.git deprecati in ConfigManagement mentre viene ancora utilizzata la modalità multi-repository. L'impostazione di questo campo genera automaticamente una RootSyncrisorsa sul cluster.
spec.preventDrift Se true, consente al webhook di ammissione Config Sync di prevenire le deviazioni rifiutando l'invio di modifiche in conflitto ai cluster attivi. Il valore predefinito è false. Config Sync corregge 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 referenziali. Assicurati di comprendere le caveats sulla coerenza finale. Il valore predefinito è false.
spec.policyController.auditIntervalSeconds Periodo in secondi tra controlli consecutivi delle 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 rifiuto e di prova. Il valore predefinito è false.
spec.policyController.mutation.enabled Se true, viene attivato 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 in cui Policy Controller può esportare 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 raggruppare i cluster. Univoco in un'installazione di Config Sync. Non puoi configurare questo campo nella console Google Cloud.

Esempio di oggetto ConfigManagement

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

Configurazione per 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 del repository Git della directory radice che contiene la configurazione da sincronizzare. Valore predefinito: la directory root 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 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 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.