Campi per le specifiche dell'applicazione di gcloud

Questa pagina descrive i diversi campi che puoi utilizzare per configurare Config Sync con il flag --config nel comando Google Cloud CLI apply e il flag --fleet-default-member-config nel comando enable nella traccia di rilascio beta. Questo schema di campo non è più consigliato nella traccia di rilascio alpha del comando enable a favore del nuovo schema API .

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

Configurazione comune per Config Management

Chiave Descrizione
spec.version La versione di Config Management. Se stai configurando Config Management per un cluster, la versione predefinita è la versione attuale dell'installazione di Config Management sul cluster in questione. In caso contrario, per la configurazione a livello di parco risorse o in assenza di un'installazione esistente sul cluster di destinazione, il valore predefinito è l'ultima versione.

Configurazione di Config Sync

Chiave Descrizione
spec.cluster Il nome del cluster utilizzato da Config Sync cluster-name-selector annotazione o ClusterSelector, per applicare le configurazioni solo a un sottoinsieme di cluster. Imposta questo campo se Config Sync utilizza un nome diverso da quello dell'appartenenza al parco risorse del cluster nell'annotazione cluster-name-selector o in ClusterSelector.
spec.upgrades (Anteprima) L'impostazione di upgrade per Config Sync. Il valore predefinito e l'unico supportato è manual.
spec.configSync.enabled Se true, installa e gestisce Config Sync. Se false, disinstalla qualsiasi Config Sync gestito in precedenza e ignora il resto della configurazione .spec.configSync. Obbligatorio 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 Config Sync deve eseguire la sincronizzazione. 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 di riferimento. Puoi omettere questo campo se non hai preparato un repository.
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. Ti consigliamo di utilizzare il campo spec.configSync.syncRev per specificare un nome di ramo. Se vengono utilizzati entrambi i campi, il campo 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) o ramo da cui eseguire la sincronizzazione. Questo campo viene ignorato se .spec.configSync.sourceType è impostato su oci. Questo campo è facoltativo e il valore predefinito è HEAD. Quando utilizzi un hash, deve essere un hash completo e non una forma abbreviata.
spec.configSync.preventDrift Se true, attiva il webhook di ammissione di Config Sync per prevenire le derive rifiutando le modifiche in conflitto che vengono inviate ai cluster live. Valori predefiniti: false. Config Sync corregge sempre le derive indipendentemente dal valore di questo campo.
spec.configSync.stopSyncing Se true, interrompe la sincronizzazione delle configurazioni per un singolo cluster. Il valore predefinito è false.
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 Il service account Google Cloud utilizzato per annotare il service account Kubernetes del controller RootSync o RepoSync. Questo campo viene utilizzato solo quando spec.configSync.secretType è gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail Deprecato: se Workload Identity Federation for GKE è abilitato, il service account Google Cloud non è necessario per l'esportazione delle metriche di Config Sync. Utilizza invece un service account Kubernetes.
spec.configSync.sourceFormat Se impostato su unstructured, configura un repository non gerarchico. Valore predefinito: hierarchy.
spec.configSync.deploymentOverrides Un elenco di configurazioni di override delle risorse per le implementazioni di Config Sync. Il campo si applica solo alle implementazioni di Config Sync con container che non sono un riconciliatore di root o di spazi dei nomi, ad esempio reconciler-manager. Se devi eseguire l'override di un riconciliatore root o spazio dei nomi, utilizza invece i campi rootsync o reposync. Facoltativo.
spec.configSync.deploymentOverrides.name Il nome del deployment di Config Sync da sostituire. Il valore non può essere vuoto.
spec.configSync.deploymentOverrides.namespace Lo spazio dei nomi del deployment di Config Sync da sostituire. Il valore non può essere vuoto.
spec.configSync.deploymentOverrides.containers Un elenco di configurazioni di override per le richieste e i limiti dei container Config Sync. Facoltativo.
spec.configSync.deploymentOverrides.containers.name Il nome del contenitore Config Sync da sostituire. Il valore non può essere vuoto.
spec.configSync.deploymentOverrides.containers.cpuRequest La richiesta di CPU per il container. Utilizza le unità di risorse CPU in Kubernetes. Facoltativo.
spec.configSync.deploymentOverrides.containers.cpuLimit Il limite CPU per il container. Utilizza le unità di risorse CPU in Kubernetes. Facoltativo.
spec.configSync.deploymentOverrides.containers.memoryRequest La richiesta di memoria per il container. Utilizza le unità di risorse di memoria in Kubernetes. Facoltativo.
spec.configSync.deploymentOverrides.containers.memoryLimit Il limite di memoria per il container. Utilizza le unità di risorse di memoria in Kubernetes. Facoltativo.

Configurazione del proxy per il repository Git

Se le norme 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 che comunichi con l'host Git. Il proxy è supportato solo quando utilizzi 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 URL https o semplici. Gli URL contenenti http:// vengono rifiutati.
Se utilizzi un URL semplice, assicurati che la comunicazione tra il server proxy e l'host Git sia sicura.

Esempio di specifica di applicazione di gcloud

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

Esempio di specifica di applicazione di gcloud con override delle risorse di deployment

Se vuoi personalizzare le richieste e i limiti delle risorse di Config Sync, aggiungi il campo deploymentOverrides nella specifica di applicazione. Ad esempio, il seguente file YAML override i limiti di CPU e memoria per il container reconciler-manager:

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    deploymentOverrides:
    - name: reconciler-manager
      namespace: config-management-system
      containers:
      - name: reconciler-manager
        cpuRequest: 50m
        cpuLimit: 100m
        memoryRequest: 256Mi
        memoryLimit: 512Mi