Questa pagina spiega come configurare Config Sync utilizzando i comandi kubectl
dopo aver
installato Config Sync utilizzando la console Google Cloud o Google Cloud CLI.
Sebbene tu possa apportare molte modifiche alla configurazione utilizzando la console o la CLI, devi utilizzare i comandi kubectl per ignorare alcuni valori predefiniti di Config Sync, per controllare la verifica dei certificati SSL e per utilizzare un'autorità di certificazione.
Crea e modifica 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 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 i 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 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, acquisisci familiarità con la tabella riportata di seguito. Questa tabella elenca i campi che puoi modificare e aggiungere. Se modifichi campi non elencati in questa tabella, Config Sync ripristina automaticamente le modifiche ai valori impostati l'ultima volta che hai configurato Config Sync nella console Google Cloud o in Google Cloud CLI.
| Chiave | Descrizione |
|---|---|
spec.helm |
Tutti i campi per la configurazione del repository Helm. |
spec.override |
Tutti i campi per ignorare le 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. |
Crea il file
Per creare e modificare un file di configurazione per root-sync, completa i seguenti passaggi:
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 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 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 comando
nomos status:nomos status
Configura l'autorità di certificazione
Per i server configurati con certificati di un'autorità di certificazione (CA)
che non è ancora attendibile, Config Sync può essere configurato per utilizzare un certificato CA
per verificare le connessioni HTTPS al server. Questo attributo è supportato per i server Git,
Helm o OCI. Il certificato CA
deve includere certificati SSL completi (radice/intermedio/foglia).
Se il tuo 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 tuo 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 tuo 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.
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 comporta la pulizia delle annotazioni e delle etichette di Config Sync. Per pulire le 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.