Questa pagina spiega i diversi campi che puoi utilizzare per configurare Config Sync con il flag --config nel comando apply di Google Cloud CLI e il flag --fleet-default-member-config nel comando enable nel canale di rilascio beta. Lo schema di questo campo non è più consigliato nel canale di rilascio
alpha del comando enable
a favore del
nuovo schema API
.
Il formato del file utilizzato con questi flag di gcloud CLI è simile al formato dell'oggetto ConfigManagement. Tuttavia, i formati sono diversi e i due 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 corrente 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 è la versione più recente. |
Configurazione per 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 l'annotazione cluster-name-selector o ClusterSelector di Config Sync utilizza un nome
diverso dal nome di appartenenza al parco risorse del cluster. |
spec.upgrades |
(Anteprima) L'impostazione di upgrade per Config Sync.
Il valore predefinito e l'unico valore 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 o dell'immagine OCI da utilizzare come fonte di verità. 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. Ti consigliamo di utilizzare il
spec.configSync.syncRev campo 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 che vuoi sincronizzare. Valore predefinito: la directory principale 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, non una forma abbreviata.
|
spec.configSync.preventDrift |
Se true, abilita il webhook di ammissione di Config Sync per
impedire le deviazioni
rifiutando il push delle modifiche in conflitto ai cluster
live. Valore predefinito: false.
Config Sync corregge sempre le deviazioni indipendentemente dal valore di questo campo. |
spec.configSync.stopSyncing |
Se true, interrompe la sincronizzazione delle configurazioni per un singolo cluster.
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 Google Cloud service account 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, Google Cloud il service account non è obbligatorio per l'esportazione delle metriche di Config Sync. Utilizza invece il 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 i deployment di Config Sync.
Il campo si applica solo ai deployment di Config Sync con
container che non sono un riconciliatore di root o di spazio dei nomi, ad esempio
reconciler-manager. Se devi eseguire l'override di un riconciliatore di root o di spazio dei nomi
utilizza
i campi rootsync o reposync invece. Facoltativo. |
spec.configSync.deploymentOverrides.name |
Il nome del deployment di Config Sync di cui eseguire l'override. Il valore non può essere vuoto. |
spec.configSync.deploymentOverrides.namespace |
Lo spazio dei nomi del deployment di Config Sync di cui eseguire l'override. Il valore non può essere vuoto. |
spec.configSync.deploymentOverrides.containers |
Un elenco di configurazioni di override per le richieste e i limiti dei container di Config Sync Facoltativo. |
spec.configSync.deploymentOverrides.containers.name |
Il nome del container di Config Sync di cui eseguire l'override. 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 di 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 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 che comunichi con l'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 senza decorazioni.
Gli URL contenenti http:// vengono rifiutati.Se utilizzi un URL senza decorazioni, assicurati che la comunicazione tra il tuo 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 YAML esegue l'override dei 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