Questa pagina spiega come configurare Config Sync utilizzando i comandi kubectl
dopo aver
installato Config Sync utilizzando la Google Cloud console o Google Cloud CLI.
Sebbene tu possa apportare molte modifiche alla configurazione utilizzando la console o l'interfaccia a riga di comando, tu
devi utilizzare i comandi kubectl per
sostituire alcuni valori predefiniti di Config Sync, controllare la verifica del certificato SSL
e utilizzare un'autorità di certificazione.
Creare e modificare il file di configurazione RootSync
Per configurare Config Sync utilizzando i comandi kubectl, modifica un
oggetto RootSync creando
un file YAML.
Quando installi Config Sync utilizzando la Google Cloud console 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 Google Cloud console o
Google Cloud CLI, root-sync viene aggiornato.
Informazioni sui campi che puoi modificare utilizzando kubectl
Puoi apportare modifiche avanzate a root-sync utilizzando kubectl comandi per i
campi non supportati nella Google Cloud console o in Google Cloud CLI. Se vuoi
creare e poi aggiornare gli oggetti RootSync o RepoSync direttamente utilizzando i comandi kubectl, consulta
Campi RootSync e RepoSync.
Prima di apportare modifiche al file YAML che crei nella sezione seguente, consulta la tabella seguente. Questa tabella elenca 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 l'ultima volta che hai configurato Config Sync nella Google Cloud console o in Google Cloud CLI.
| Chiave | Descrizione |
|---|---|
spec.helm |
Tutti i campi per la configurazione del repository Helm. |
spec.override |
Tutti i campi per la sostituzione delle configurazioni predefinite. |
spec.git.noSSLVerify |
Specifica se attivare o disattivare la verifica del certificato SSL per Git. Il valore predefinito è false.
|
spec.git.caCertSecretRef.name |
Il nome del secret contenente il certificato dell'autorità di certificazione (CA) per un repository Git. |
spec.oci.caCertSecretRef.name |
Il nome del secret contenente il certificato dell'autorità di certificazione (CA) per un repository OCI. |
Creare il file
Per creare e modificare un file di configurazione per root-sync:
Per assicurarti di recuperare le informazioni di configurazione per il cluster corretto, configura l'accesso alla riga di comando
kubectl:gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_IDSostituisci 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 creato da Config Sync in un file YAML:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yamlSostituisci
FILE_NAMEcon un nome per il file di configurazione.Apri il file YAML che hai creato e apporta le modifiche di configurazione necessarie. Ad esempio, per sostituire il 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 omittedApplica le modifiche al file YAML:
kubectl apply -f FILE_NAME.yamlPer verificare che Config Sync abbia applicato le modifiche, visualizza l'oggetto RootSync:
kubectl describe rootsync root-sync -n config-management-systemPer verificare che le modifiche non abbiano introdotto errori, utilizza il
nomos statuscomando:nomos status
Configurare l'autorità di certificazione
Per i server configurati con certificati di un'autorità di certificazione (CA) non ancora attendibile, Config Sync può essere configurato per utilizzare un certificato CA per verificare le connessioni HTTPS al server. Questa funzionalità è supportata per i server Git, Helm o OCI. Il certificato CA deve includere certificati SSL completi (root/intermedi/foglia).
Se il server utilizza già una CA attendibile o non ti connetti tramite HTTPS, puoi saltare questo passaggio e lasciare caCertSecretRef non impostato.
RootSync
Recupera il certificato CA utilizzato per emettere il certificato per il server Git e salvalo in un file.
Per gli oggetti
RootSync, il secret deve essere creato nello spazio dei nomiconfig-management-system. Ad esempio:kubectl create secret generic ROOT_CA_CERT_SECRET_NAME
--namespace=config-management-system
--from-file=cert=/path/to/CA_CERT_FILEQuando configuri l'oggetto
RootSync, imposta il valore del campocaCertSecretRef.namenell'oggettoRootSyncsu ROOT_CA_CERT_SECRET_NAME.
RepoSync
Recupera il certificato CA utilizzato per emettere il certificato per il server Git e salvalo in un file.
Per gli oggetti
RepoSync, il secret deve essere creato nello stesso spazio dei nomi di RepoSync. Ad esempio:kubectl create secret generic NAMESPACE_CA_CERT_SECRET_NAME
--namespace=REPO_SYNC_NAMESPACE
--from-file=cert=/path/to/CA_CERT_FILEQuando configuri
RepoSync, imposta il valore del campocaCertSecretRef.namenell'oggettoRepoSyncsu NAMESPACE_CA_CERT_SECRET_NAME.
Rimuovere l'oggetto RootSync
Per eliminare root-sync, esegui il comando seguente:
kubectl delete -f FILE_NAME
Sostituisci FILE_NAME con il nome del file di configurazione RootSync. Ad esempio, root-sync.yaml.
L'eliminazione di un oggetto RootSync o RepoSync non comporta la pulizia delle annotazioni e delle etichette di Config Sync. Per liberare spazio dalle 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.