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