Configura Config Sync con comandi kubectl
Questa pagina spiega come configurare Config Sync utilizzando i comandi kubectl
dopo aver installato Config Sync tramite la console Google Cloud o Google Cloud CLI.
Puoi apportare molte modifiche alla configurazione utilizzando la console o l'interfaccia a riga di comando, ma devi utilizzare i comandi kubectl
per sostituire alcune impostazioni predefinite di Config Sync, per controllare la verifica dei certificati SSL e per utilizzare un'autorità di certificazione.
Creare e modificare il file di configurazione di RootSync
Per configurare Config Sync utilizzando i comandi kubectl
, puoi modificare un
oggetto RootSync creando un file YAML.
Quando installi Config Sync utilizzando la console Google Cloud o
Google Cloud CLI, Config Sync crea automaticamente un oggetto RootSync denominato
root-sync
. Questo oggetto contiene le informazioni di configurazione più recenti per Config Sync. Ogni volta che apporti una modifica nella console Google Cloud o in Google Cloud CLI, root-sync
viene aggiornato.
Scopri di più sui campi che puoi modificare utilizzando kubectl
Puoi apportare modifiche avanzate a root-sync
utilizzando i comandi kubectl
per i campi non supportati nella console Google Cloud o in Google Cloud CLI. Se vuoi creare e quindi aggiornare gli oggetti RootSync o RepoSync direttamente utilizzando i comandi kubectl
, consulta i campi RootSync e RepoSync.
Prima di apportare modifiche al file YAML che crei nella sezione seguente, acquisisci familiarità con la tabella seguente. In questa tabella sono elencati i campi che puoi modificare e aggiungere. Se modifichi i campi non elencati in questa tabella, Config Sync ripristina automaticamente le modifiche ai valori impostati durante l'ultima configurazione di Config Sync nella console Google Cloud o in Google Cloud CLI.
Chiave | Descrizione |
---|---|
spec.git.noSSLVerify |
noSSLVerify specifica se attivare o disattivare la verifica dei certificati SSL. Valore predefinito: false .Se il criterio noSSLVerify è impostato su true , indica a Git di ignorare la verifica del certificato SSL. |
spec.git.caCertSecretRef.name |
Il nome del secret che contiene l'autorità di certificazione (CA). Se questo campo viene fornito, il server Git deve utilizzare un certificato emesso da questa CA. Il certificato CA deve essere archiviato nel secret in una chiave denominata "cert". |
spec.override.resources |
L'elenco delle richieste di risorse e delle sostituzioni dei limiti dei container. Campo facoltativo. Ogni voce nell'elenco contiene tre campi:
Quando non viene fornito un valore di sostituzione per una richiesta di risorsa o un limite, viene utilizzato il valore predefinito della risorsa. |
spec.override.gitSyncDepth |
gitSyncDepth consente di eseguire l'override del numero di commit Git da recuperare.Non deve essere minore di 0. Config Sync esegue un clone completo se questo campo è pari a 0 e un clone poco chiaro se questo campo è maggiore di 0. Se questo campo non viene fornito, Config Sync lo configura automaticamente. |
spec.override.statusMode |
statusMode consente di abilitare o disabilitare l'acquisizione dello stato a livello di risorsa.Il valore predefinito è enabled .Per disabilitare l'acquisizione dello stato a livello di risorsa, imposta questo campo su disabled .
|
spec.override.reconcileTimeout |
reconcileTimeout consente di eseguire l'override della soglia per specificare il tempo di attesa delle risorse in un gruppo di applicazione per la riconciliazione prima di rinunciare. Tutte le risorse in un commit possono trovarsi in più gruppi applicati in base alle dipendenze.Il timeout predefinito è 5m .Utilizza la stringa per specificare questo valore di campo, ad esempio 30s ,
5m .
|
spec.override.enableShellInRendering |
enableShellInRendering specifica se abilitare o disabilitare
l'accesso alla shell nel processo di rendering. Le basi remote di Kustomize richiedono
l'accesso alla shell. L'impostazione di questo campo su true abilita l'accesso della shell nel processo di rendering e supporta il pull di basi remote dai repository pubblici.Il valore predefinito è false . |
Crea il file
Per creare e modificare un file di configurazione per root-sync
, procedi nel seguente modo:
Per assicurarti di recuperare le informazioni di configurazione per il cluster corretto, configura l'accesso da riga di comando
kubectl
:gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_ID
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster con la configurazione di Config Sync che vuoi modificareZONE
: la zona in cui hai creato il clusterPROJECT_ID
: il tuo ID progetto
Copia le informazioni di configurazione dall'oggetto RootSync che Config Sync ha creato in un file YAML:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yaml
Sostituisci
FILE_NAME
con un nome per il file di configurazione.Apri il file YAML che hai creato e apporta le modifiche alla configurazione richieste. Ad esempio, per eseguire l'override del limite di memoria del container
git-sync
, aggiungi i seguenti campi in grassetto:apiVersion: v1 items: - apiVersion: configsync.gke.io/v1beta1 kind: RootSync metadata: annotations: configmanagement.gke.io/managed-by-hub: "true" configmanagement.gke.io/update-time: "1644945169" creationTimestamp: "2022-02-15T17:12:52Z" generation: 1 name: root-sync namespace: config-management-system resourceVersion: "211980457" uid: aa30a94b-2825-4590-ad30-5af848403502 spec: git: auth: none branch: main dir: /quickstart/config-sync period: 15s repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples revision: HEAD secretRef: {} override: resources: - containerName: "git-sync" memoryLimit: "400Mi" sourceFormat: unstructured # Remainder of RootSync omitted
Applica le modifiche al file YAML:
kubectl apply -f FILE_NAME.yaml
Per verificare che Config Sync abbia applicato le modifiche, visualizza l'oggetto RootSync:
kubectl describe rootsync root-sync -n config-management-system
Per verificare che le modifiche non abbiano introdotto errori, utilizza il comando
nomos status
:nomos status
Rimuovi l'oggetto RootSync
Per eliminare root-sync
, esegui questo comando:
kubectl delete -f FILE_NAME
Sostituisci FILE_NAME
con il nome del file di configurazione di RootSync. Ad esempio, root-sync.yaml
.
L'eliminazione di un oggetto RootSync o RepoSync non pulisce le annotazioni e le etichette di Config Sync. Per ripulire eventuali risorse gestite, esegui la sincronizzazione da una directory Git vuota.
Passaggi successivi
- Scopri di più sui campi RootSync e RepoSync.
- Scopri come monitorare gli oggetti RootSync e RepoSync.