Questa pagina spiega le scelte e i requisiti di configurazione durante la pianificazione dei cluster da utilizzare con Config Sync.
Per saperne di più sulle best practice generali per la pianificazione dei cluster GKE, consulta la documentazione di GKE per le scelte di configurazione dei cluster.
Requisiti delle risorse con la modalità Autopilot
La modalità GKE Autopilot modifica automaticamente le richieste di risorse per mantenere la stabilità del carico di lavoro. Per capire come pianificare queste richieste, consulta la documentazione di GKE per le richieste di risorse Autopilot.
A causa del modo in cui Autopilot modifica le richieste di risorse, Config Sync apporta le seguenti modifiche:
- Modifica i limiti di override delle risorse specificati dall'utente in modo che corrispondano alle richieste.
- Applica gli override solo quando sono presenti una o più richieste di risorse superiori all'output aggiustato corrispondente dichiarato nell'annotazione oppure quando sono presenti richieste di risorse inferiori all'input corrispondente dichiarato nell'annotazione.
Piattaforme e versioni di GKE supportate
Per utilizzare Config Sync, il cluster deve essere in una versione supportata di GKE.
Workload Identity Federation for GKE
Workload Identity Federation for GKE è il metodo consigliato per connettersi in modo sicuro ai servizi Google Cloud. Workload Identity Federation for GKE è abilitata per impostazione predefinita sui cluster Autopilot.
Se vuoi utilizzare i pacchetti del parco risorse (anteprima) con Config Sync, è necessaria la federazione delle identità per i carichi di lavoro per GKE.
Se hai installato Config Sync su cluster GKE collegati, non puoi utilizzare Active Directory con Workload Identity Federation. Questa limitazione esiste perché Config Sync utilizza connect gateway per connettersi ai cluster GKE collegati e connect gateway non supporta questa funzionalità.
Networking
La sezione seguente elenca alcune delle modifiche che potresti dover apportare al cluster GKE, a seconda delle impostazioni di rete.
Per saperne di più sulle opzioni di networking GKE, consulta Panoramica della rete.
Cluster privati
Se utilizzi cluster privati, devi configurarli in uno dei seguenti modi per assicurarti che Config Sync abbia accesso e possa autenticarsi alla tua fonte attendibile:
Configura Cloud NAT per consentire l'uscita dai nodi GKE privati. Per maggiori dettagli, vedi Esempio di configurazione di GKE.
Abilita l'accesso privato Google per connetterti all'insieme di indirizzi IP esterni utilizzati dalle API e dai servizi Google.
Cluster pubblici
Se utilizzi cluster pubblici, ma hai requisiti firewall VPC rigorosi che bloccano qualsiasi traffico non necessario, devi creare regole firewall per consentire il seguente traffico:
- TCP: consenti il traffico in entrata e in uscita sulle porte 53 e 443
- UDP: consenti l'uscita sulla porta 53
Se non includi queste regole, Config Sync non si sincronizza correttamente e
nomos status
segnala il seguente errore:
Error: KNV2004: unable to sync repo Error in the git-sync container
Cloud Source Repositories con autenticazione dell'account di servizio predefinito di Compute Engine
Se utilizzi Config Sync per connetterti a Cloud Source Repositories e la federazione delle identità per i carichi di lavoro per GKE non è abilitata, puoi utilizzare ilaccount di serviziot predefinito di Compute Engine per l'autenticazione. Devi utilizzare ambiti di accesso con ambiti di sola lettura per i nodi del cluster.
Puoi aggiungere l'ambito di sola lettura per Cloud Source Repositories includendo
cloud-source-repos-ro
nell'elenco --scopes
specificato al momento della creazione del cluster
o utilizzando l'ambito cloud-platform
al momento della creazione del cluster. Ad esempio:
gcloud container clusters create CLUSTER_NAME --scopes=cloud-platform
Sostituisci CLUSTER_NAME
con il nome del cluster.
Non puoi modificare gli ambiti di accesso dopo aver creato un pool di nodi.
Tuttavia, puoi creare un nuovo pool di nodi con l'ambito di accesso appropriato
utilizzando lo stesso cluster. L'ambito gke-default
predefinito non include
cloud-source-repos-ro
.
Nodi del braccio
Config Sync può essere eseguito solo su nodi basati su x86, non su nodi Arm. Tuttavia, se devi eseguire Config Sync su un cluster con più architetture, esegui l'azione seguente, a seconda del tipo di cluster:
- GKE su AWS o GKE su Azure: aggiungi un taint ai tuoi nodi Arm per evitare di pianificare i pod sui tuoi nodi Arm senza una tolleranza corrispondente.
- GKE: GKE aggiunge una contaminazione predefinita per garantire che i workload senza la tolleranza corrispondente non vengano pianificati. Nessuna azione aggiuntiva necessaria.