Questo documento fornisce informazioni sui controlli preflight eseguiti quando crei o esegui l'upgrade di un cluster in Google Distributed Cloud (solo software) per VMware.
Esamina le regole firewall
Nella versione 1.29 e successive, i controlli preflight lato server sono abilitati per impostazione predefinita quando crei, aggiorni ed esegui l'upgrade dei cluster. I controlli preliminari lato server richiedono regole firewall aggiuntive. In Regole firewall per i cluster di amministrazione, cerca "Controlli preliminari" e assicurati che tutte le regole firewall richieste siano configurate.
Esecuzione di gkectl check-config
Se prevedi di creare cluster utilizzando gkectl
, esegui gkectl create-config
per
generare un file di configurazione. Il file di configurazione guida l'installazione: fornisci informazioni sull'ambiente vSphere, sulla rete e sul bilanciamento del carico e su come vuoi che appaiano i cluster. Puoi generare un file di configurazione prima o dopo aver creato una workstation amministrativa. Per
superare determinati controlli, questi devono essere eseguiti dalla workstation di amministrazione.
Dopo aver modificato il file per soddisfare le esigenze del tuo ambiente e dei tuoi cluster, lo utilizzi per creare i cluster nel tuo ambiente on-premise.
Prima di creare cluster utilizzando gkectl
, esegui gkectl check-config
per
convalidare il file di configurazione con diversi controlli preflight.
Se il comando restituisce messaggi FAILURE
, risolvi i problemi
e convalida nuovamente il file. Se la convalida di una determinata funzionalità restituisce messaggi di AVVISO, devi risolvere i problemi sottostanti prima di poter utilizzare la funzionalità.
Modalità di controllo preliminare e ignorare le convalide
gkectl check-config
ha una modalità predefinita e una modalità veloce:
In modalità predefinita, il comando convalida in modo completo ogni campo. Inoltre, la modalità predefinita crea macchine virtuali (VM) vSphere temporanee nell'ambito delle relative convalide, il che può richiedere più tempo.
In modalità rapida, il comando ignora i controlli che creano VM di test ed esegue solo i controlli rapidi. Per attivare la modalità veloce, devi passare il flag
--fast
.
Puoi ignorare convalide specifiche passando altri flag, descritti in gkectl check-config --help
.
Traffico tra la workstation amministrativa e le VM di test
Nella modalità predefinita, il controllo preflight crea VM di test per il cluster. Ogni VM di test esegue un server HTTP che rimane in ascolto sulla porta 443 e sulle porte dei nodi specificate nel file di configurazione.
Alle VM di test vengono assegnati diversi indirizzi IP. Se il file di configurazione indica che i nodi del cluster riceveranno gli indirizzi IP da un server DHCP, il controllo preliminare utilizza un server DHCP per assegnare indirizzi IP alle VM di test. Se il file di configurazione indica che ai nodi del cluster verranno assegnati indirizzi IP statici, il controllo preliminare assegna indirizzi IP statici specificati nei file di blocco IP alle VM di test.
Il controllo preliminare, eseguito sulla workstation amministrativa, invia richieste HTTP alle VM di test utilizzando i vari indirizzi IP assegnati alle VM. Le richieste vengono inviate alla porta 443 e alle porte dei nodi specificate nel file di configurazione.
Quando devo eseguire i controlli preliminari?
È una best practice eseguire i controlli preflight in anticipo e prima di tentare di creare cluster. L'esecuzione anticipata dei controlli preflight può aiutarti a verificare di aver configurato correttamente l'ambiente vSphere e la rete.
Se utilizzi la versione 1.2.0-gke.6, esegui gkectl check-config
due volte:
Esegui
gkectl check-config --fast
.Esegui
gkectl prepare
.Esegui di nuovo
gkectl check-config
, senza il flag--fast
.
Il motivo per cui viene eseguito due volte è che gkectl prepare
carica il modello VM per
l'immagine del sistema operativo del nodo del cluster nell'ambiente vSphere. Questo modello di VM deve essere
in posizione prima di eseguire l'intero set di convalide.
Nella versione 1.2.1 e successive, il comando check-config
carica il modello VM, quindi puoi eseguire l'intero set di convalide prima di eseguire gkectl
prepare
:
Esegui
gkectl check-config
senza il flag--fast
.Esegui
gkectl prepare
.
I controlli preliminari convalidano i valori che hai fornito al file. Non
devi compilare tutti i campi del file di configurazione per eseguire i controlli preliminari
sul file. Puoi invece convalidare il file in modo iterativo man mano che compili
i suoi campi. Ad esempio, se vuoi convalidare solo la configurazione di vCenter, puoi compilare solo i campi vcenter
ed eseguire i controlli su questi campi.
Tieni presente che la configurazione diventa immutabile dopo la creazione dei cluster. L'esecuzione dei controlli preflight ti aiuta a scoprire e risolvere i problemi nella tua configurazione prima di creare i cluster.
Conservare la VM di test per il debug
A partire dalla versione 1.2.1, il comando gkectl check-config
ha un flag --cleanup
.
Quando gkectl check-config
esegue un insieme completo di convalide, crea una VM di test e una chiave SSH associata. Se vuoi conservare la VM di test e la
chiave SSH a scopo di debug, imposta --cleanup
su false.
Il valore predefinito di --cleanup
è true.
Elenco dei controlli preliminari
I controlli preflight convalidano ogni campo nel file di configurazione. Ecco i controlli attuali:
Categoria | Descrizione | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
File di configurazione | In genere, verifica che ogni campo e specifica abbia il formato e i valori previsti. Ignorato con
il flag Ignora la convalida del campo |
||||||||||||||||
Internet | Convalida l'accesso a internet ai domini richiesti. Convalida la configurazione del proxy in base alla posizione in cui esegui gkectl. Ignorato con il flag |
||||||||||||||||
Immagine sistema operativo | Verifica che le immagini del sistema operativo esistano. Ignorato con il flag |
||||||||||||||||
Versione del sistema operativo Windows | Convalida la versione del sistema operativo Windows. Verifica che la versione di Windows sia supportata durante la creazione di workstation amministratore con lo strumento a riga di comando |
||||||||||||||||
Versione cluster | Verifica che la versione del cluster di amministrazione, la versione del cluster utente e la versione di Ignorato con il flag |
||||||||||||||||
Integrità del cluster | Verifica che il cluster di amministrazione o utente sia integro prima dell'upgrade:
Ignorato con il flag |
||||||||||||||||
In entrata | Verifica se il cluster utente ha un oggetto Istio Gateway prima dell'upgrade. | ||||||||||||||||
IP riservato | Verifica che siano disponibili indirizzi IP sufficienti per la creazione e l'upgrade. Ignorato con il flag |
||||||||||||||||
Google Cloud |
--skip-validation-gcp .
| ||||||||||||||||
Accedi a gcr.io/gke-on-prem-release |
Convalida l'accesso al registro delle immagini container ospitato in
Artifact Registry.
Ignorato dal flag |
||||||||||||||||
Docker Registry |
privateregistryconfig Se configurato, convalida l'accesso al registro Docker.
Ignorato con il flag |
||||||||||||||||
vCenter | Verifica che siano presenti tutti i campi vcenter e controlla anche quanto segue:
Ignorato con il flag |
||||||||||||||||
Archiviazione |
| ||||||||||||||||
Workload CSI |
Verifica che il cluster possa eseguire correttamente un workload che utilizza un PersistentVolume di cui è stato eseguito il provisioning dinamico creato tramite il driver CSI vSphere. Questo controllo viene eseguito durante l'upgrade e solo se sono presenti volumi vSphere in-tree e nessun volume CSI vSphere. Questo controllo:
|
||||||||||||||||
Host per i gruppi anti-affinità | Verifica che il numero di host vCenter fisici sia almeno tre se
Per disattivare Ignorato con il flag |
||||||||||||||||
Bilanciatore del carico | Convalida la configurazione del bilanciamento del carico:
--skip-validation-load-balancer .
|
||||||||||||||||
Networking | Convalida che gli intervalli CIDR, i VIP e gli IP statici forniti (se configurati) siano disponibili. Verifica che gli indirizzi IP non si sovrappongano. Ignorato con il flag |
||||||||||||||||
DNS | Verifica che il server DNS fornito sia disponibile. Ignorato con il flag |
||||||||||||||||
NTP | Verifica che il server NTP (Network Time Protocol) fornito sia disponibile. Ignorato con il flag |
||||||||||||||||
VIP | Invia un ping ai VIP forniti. Questo controllo ha esito positivo se il ping non riesce, a indicare che il VIP previsto non è già stato utilizzato. Ignorato con il
flag |
||||||||||||||||
IP dei nodi | Invia un ping agli indirizzi IP del nodo forniti. Questo controllo ha esito positivo se il ping non riesce, il che indica che l'IP del nodo previsto non è già in uso. Ignorato con il
flag |
Risultati del controllo preliminare
I controlli preflight possono restituire i seguenti risultati:
- SUCCESS
- Il campo e il relativo valore hanno superato il controllo.
- FAILURE
- Il campo e/o il relativo valore non hanno superato il controllo. Se un controllo restituisce un messaggio
FAILURE
, risolvi i problemi e convalida di nuovo il file. - IGNORATO
Il controllo è stato ignorato, probabilmente perché non è pertinente alla tua configurazione. Ad esempio, se utilizzi un server DHCP, i controlli degli IP DNS e dei nodi, pertinenti solo a una configurazione IP statica, vengono ignorati.
Se passi un flag che salta una convalida, il controllo saltato non restituisce un risultato SKIPPED. La convalida non viene eseguita e non viene visualizzata nell'output del comando.
- SCONOSCIUTO
Il salto ha restituito un codice diverso da zero. Puoi considerare i risultati UNKNOWN come controlli non riusciti. UNKNOWN indica in genere che il controllo non è riuscito a eseguire alcuni pacchetti di sistema, ad esempio non è riuscito a eseguire nslookup o gcloud.
Disponibile a breve
I seguenti controlli preflight verranno aggiunti in una release futura:
- Server NTP
Esecuzione dei controlli preflight
Esegui i controlli preflight eseguendo questo comando:
gkectl check-config --config [CONFIG]
dove [CONFIG] è il percorso del file di configurazione
Esecuzione in modalità veloce
Se preferisci, puoi eseguire i controlli preflight in "modalità rapida", che ignora le
convalide che creano VM di test temporanee, come il VIP di bilanciamento del carico e
le convalide IP dei nodi. Per farlo, passa --fast
:
gkectl check-config --config [CONFIG] --fast
Ignorare convalide specifiche
Puoi passare flag per ignorare in modo granulare convalide specifiche, come DNS,
proxy e networking. Ogni flag di salto è preceduto da --skip-[VALIDATION]
.
Per scoprire di più sui flag di salto disponibili, esegui il seguente comando:
gkectl check-config --help
Ad esempio, per ignorare le convalide del bilanciatore del carico:
gkectl check-config --config my-config.yaml --skip-validation-load-balancer
Annullamento dei controlli preliminari
Se hai iniziato a eseguire i controlli preliminari e vuoi annullarli, premi due volte CTRL + C. Se un controllo pre-volo ha creato una VM di test, l'annullamento dovrebbe anche pulire automaticamente la VM.
Pulizia di una VM di test
Se rimane una VM di test al termine dei controlli preliminari, puoi eliminarla da vCenter. Una VM di test ha un nome simile a questo:
check-config-[dhcp|static]-[random number]
Per eliminare la VM:
Fai clic con il tasto destro del mouse sulla VM e fai clic su Alimentazione > Spegni.
Dopo lo spegnimento della VM, fai di nuovo clic con il tasto destro del mouse sulla VM e fai clic su Elimina dal disco.
Esempio
Di seguito è riportato un esempio dell'output del comando. In questo esempio, la configurazione convalidata utilizza la modalità di bilanciamento del carico integrato e IP statici senza un registro Docker esterno:
- Validation Category: Config Check - [SUCCESS] Config - Validation Category: Internet Access - [SUCCESS] Internet access to required domains - Validation Category: GCP - [SUCCESS] GCP Service - [SUCCESS] GCP Service Account - Validation Category: Docker Registry - [SUCCESS] gcr.io/gke-on-prem-release access - Validation Category: vCenter - [SUCCESS] Credentials - [SUCCESS] Version - [SUCCESS] Datacenter - [SUCCESS] Datastore - [SUCCESS] Data Disk - [SUCCESS] Resource Pool - [SUCCESS] Network - [SUCCESS] VSphere CSI Driver - Validation Category: F5 BIG-IP - [SUCCESS] Admin Cluster F5 (credentials, partition and user role) - [SUCCESS] User Cluster F5 (credentials, partition and user role) - Validation Category: Network Configuration - [SUCCESS] CIDR, VIP and static IP (availability and overlapping) - Validation Category: DNS - [SUCCESS] DNS (availability) - Validation Category: VIPs - [SUCCESS] ping (availability) - Validation Category: Node IPs - [SUCCESS] ping (availability) Now running slow validation checks. ... Reusing VM template "gke-on-prem-osimage-xxx" that already exists in vSphere. Creating test VMs with admin cluster configuration... DONE Waiting to get IP addresses from test VMs... DONE Waiting for test VMs to become ready... DONE Reusing VM template "gke-on-prem-osimage-xxx" that already exists in vSphere. Creating test VMs with user cluster configuration... DONE Waiting to get IP addresses from test VMs... DONE Waiting for test VMs to become ready... DONE - Validation Category: F5 BIG-IP - [SUCCESS] Admin Cluster VIP and NodeIP - [SUCCESS] Admin Cluster F5 Access - [SUCCESS] User Cluster VIP and NodeIP - [SUCCESS] User Cluster F5 Access - Validation Category: Internet Access - [SUCCESS] Internet access to required domains - Validation Category: vCenter on test VMs - [SUCCESS] Test VM: VCenter Access and Permission - Validation Category: DNS on test VMs - [SUCCESS] Test VM: DNS Availability - Validation Category: TOD on test VMs - [SUCCESS] Test VM: TOD Availability - Validation Category: Docker Registry - [SUCCESS] gcr.io/gke-on-prem-release access Deleting test VMs with admin cluster configuration... DONE Deleting test VMs with user cluster configuration... DONE
Problemi noti
Per la versione 1.3.0-gke.16:
Devi eseguire controlli di convalida rapidi,
gkectl check-config --fast
, per i tuoi controlli preliminari se si verificano entrambe le seguenti condizioni:Hai configurato Google Distributed Cloud per l'utilizzo di un proxy.
Hai installato uno dei seguenti bundle:
- Il bundle
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
dalla pagina Download. - Il pacchetto
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
dalla workstation di amministrazione.
- Il bundle
Puoi eseguire la serie completa di convalide solo se hai installato il bundle completo. Ad esempio:
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16-full.tgz
Per la versione 1.2.0-gke.6:
Se utilizzi pool di risorse nidificati o il pool di risorse predefinito,
gkectl check-config
non riesce quando tenti di eseguire un insieme completo di convalide. Tuttavia, puoi eseguire un insieme più piccolo di convalide passando il flag--fast
.gkectl check-config --config [CONFIG] --fast