Campi per le specifiche dell'applicazione di gcloud

Questa pagina illustra i diversi campi che puoi impostare nel file di configurazione per Config Sync. Devi utilizzare questo file quando configuri i componenti Config Sync con Google Cloud CLI. Il comando dellgcloud CLI che utilizzi per applicare il file di configurazione include anche la documentazione di riferimento.

Questi comandi possono anche configurare Policy Controller, ma si consiglia di utilizzare invece i comandi Policy Controller gcloud.

Il formato file utilizzato con gcloud CLI è simile al formato dell'oggetto ConfigManagement. Tuttavia, i formati sono diversi e i due non sono intercambiabili.

Configurazione per Config Sync

Chiave Descrizione
spec.cluster Il nome del cluster utilizzato dall'annotazione cluster-name-selector o da ClusterSelector di Config Sync per applicare configurazioni solo a un sottoinsieme di cluster. Imposta questo campo se l'annotazione cluster-name-selector o ClusterSelector di Config Sync utilizza un nome diverso da quello dell'appartenenza al parco risorse del cluster.
spec.upgrades (Anteprima) L'impostazione di upgrade per Config Sync. Se viene impostato su auto, l'upgrade della versione di Config Sync viene eseguito automaticamente. Per informazioni su come funzionano gli upgrade automatici, consulta Eseguire l'upgrade di Config Sync. Impostalo su manual per eseguire manualmente l'upgrade della versione di Config Sync. Il valore predefinito è manual. Questo flag è supportato solo per i cluster GKE su Google Cloud.
spec.configSync.enabled Se true, abilita Config Sync. Se false, disattiva Config Sync. Richiesto per gcloud CLI versione 429.0.0 e precedenti. Facoltativo per gcloud CLI versione 430.0.0 e successive. Valore predefinito: true
spec.configSync.sourceType Il tipo di origine da cui deve essere eseguita la sincronizzazione di Config Sync. Accetta git o oci. Valore predefinito: git.
spec.configSync.syncRepo L'URL del repository Git, dell'immagine OCI o del grafico Helm da utilizzare come fonte attendibile. Puoi omettere questo campo se non hai un repository preparato.
spec.configSync.syncBranch Il ramo del repository Git da cui eseguire la sincronizzazione. Questo campo viene ignorato se .spec.configSync.sourceType è impostato su oci. Questo campo è facoltativo e il valore predefinito è master. A partire da Config Sync versione 1.17.0, ti consigliamo di utilizzare il campo spec.configSync.syncRev per specificare un nome ramo per semplicità. Se sono specificati sia il campo spec.configSync.syncRev sia il campo spec.configSync.syncBranch, spec.configSync.syncRev ha la precedenza su spec.configSync.syncBranch.
spec.configSync.policyDir Il percorso nel repository Git o nell'immagine OCI alla directory principale che contiene la configurazione da sincronizzare. Valore predefinito: la directory radice del repository.
spec.configSync.syncWait Periodo in secondi tra sincronizzazioni consecutive. Valore predefinito: 15.
spec.configSync.syncRev Revisione Git (tag o hash) da cui eseguire la sincronizzazione. Questo campo viene ignorato se .spec.configSync.sourceType è impostato su oci. Questo campo è facoltativo e il valore predefinito è HEAD. A partire da Config Sync versione 1.17.0, puoi anche specificare il nome di un ramo nel campo spec.configSync.syncRev. Quando si utilizza un hash nella versione 1.17.0 o successive, deve essere un hash completo e non una forma abbreviata.
spec.configSync.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. Valori predefiniti: false. Config Sync risolve sempre le deviazioni indipendentemente dal valore di questo campo.
spec.configSync.secretType Il tipo di secret configurato per l'accesso a .spec.configSync.syncRepo. Se hai selezionato git come tipo di origine, il valore deve essere ssh, cookiefile, gcenode, gcpserviceaccount, token o none. Se hai selezionato oci come tipo di origine, il valore deve essere gcenode, gcpserviceaccount o none. La convalida di questo campo è sensibile alle maiuscole. Obbligatorio.
spec.configSync.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.configSync.secretType è gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail L'indirizzo email dell'account di servizio Google Cloud (GSA) utilizzato per esportare le metriche di Config Sync in Cloud Monitoring. Google Search Console deve avere il ruolo IAM Autore delle metriche di monitoraggio (roles/monitoring.metricWriter). L'account di servizio Kubernetes default nello spazio dei nomi config-management-monitoring deve essere associato a Currents.
spec.configSync.sourceFormat Se impostato su unstructured, consente di configurare un repository non gerarchico. 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 HTTPS, 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.configSync.httpsProxy Definisce una variabile di ambiente HTTPS_PROXY utilizzata per accedere al repository Git. Ad esempio, https://proxy.internal.business.co:443.
Il proxy HTTPS accetta solo https o URL standard. Gli URL che contengono http:// vengono rifiutati.
Se utilizzi un URL semplice, assicurati che la comunicazione tra il server proxy e l'host Git sia sicura.

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.mutationEnabled 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 Hierarchy Controller

Chiave Descrizione
spec.hierarchyController.enabled Se true, abilita Hierarchy Controller. Il valore predefinito è false.
spec.hierarchyController.enableHierarchicalResourceQuota Se true, abilita le quote gerarchiche delle risorse. Il valore predefinito è false.
spec.hierarchyController.enablePodTreeLabels Se true, consente l'osservazione gerarchica dei carichi di lavoro. Il valore predefinito è false.

Esempio di gcloud apply spec

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  hierarchyController:
    enabled: false