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 seguente. 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.git.noSSLVerify |
noSSLVerify specifica se attivare o disattivare la verifica del certificato SSL. Predefinito: false .Se noSSLVerify è impostato su true , Git ignora la verifica del certificato SSL. |
spec.git.caCertSecretRef.name |
Il nome del secret contenente il certificato dell'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 con una chiave denominata "cert". |
spec.override.resources |
L'elenco degli override di richieste e limiti delle risorse del container. Facoltativo. Ogni elemento dell'elenco contiene tre campi:
Quando non viene fornito un valore di override per una richiesta o un limite di risorse, viene utilizzato il valore predefinito della risorsa per la richiesta o il limite. |
spec.override.gitSyncDepth |
gitSyncDepth consente di ignorare il numero di commit Git da recuperare.Deve essere almeno pari a 0. Config Sync esegue una clonazione completa se questo campo è 0 e una clonazione superficiale se questo campo è maggiore di 0. Se questo campo non viene fornito, Config Sync lo configura automaticamente. |
spec.override.statusMode |
statusMode ti consente di attivare o disattivare l'acquisizione dello stato a livello di risorsa.Il valore predefinito è enabled .Per disattivare l'acquisizione dello stato a livello di risorsa, imposta questo campo su disabled .
|
spec.override.reconcileTimeout |
reconcileTimeout ti consente di ignorare la soglia per il tempo di attesa delle risorse in un gruppo di applicazione da riconciliare prima di rinunciare. Tutte le risorse di un commit possono trovarsi in più gruppi di applicazione in base alle dipendenze.Il timeout predefinito è 5m .Utilizza la stringa per specificare il valore di questo campo, ad esempio 30s ,
5m .
|
spec.override.enableShellInRendering |
enableShellInRendering specifica se attivare o disattivare
l'accesso alla shell nel processo di rendering. Le basi remote di Kustomize richiedono
l'accesso alla shell. Se imposti questo campo su true , attivi l'accesso alla shell
nel processo di rendering e supporti il pull di basi remote da repository
pubblici.Il valore predefinito è false . |
Creare 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_ID
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster che contiene 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.yaml
Sostituisci
FILE_NAME
con 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 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
Configura l'autorità di certificazione
Per i server configurati con certificati di un'autorità di certificazione (CA)
che non è già 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.name
nell'oggettoRootSync
su 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.name
nell'oggettoRepoSync
su 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.