Questo documento fornisce informazioni sui controlli preflight che vengono eseguiti quando crei o esegui l'upgrade di un cluster in Google Distributed Cloud (solo software) per VMware.
Esamina le regole del 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. Controlli preflight lato server regole firewall aggiuntive. Nella Regole firewall per i cluster di amministrazione, cerca "Controlli preflight" e assicurati che tutte le regole firewall obbligatorie siano configurato.
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 gestisce l'installazione:
fornisci informazioni sul tuo ambiente vSphere, sulla tua rete e sul bilanciatore di carica e su come vuoi che siano i tuoi cluster. Puoi generare un
di configurazione del deployment prima o dopo la creazione di una workstation di amministrazione. Affinché alcuni controlli vengano superati, devono essere eseguiti dalla workstation di amministrazione.
Dopo aver modificato il file per soddisfare le esigenze del tuo ambiente e di cluster, lo utilizzerai per creare i tuoi cluster nell'ambiente on-prem.
Prima di creare cluster utilizzando gkectl
, esegui
Da gkectl check-config
a
convalidare il file di configurazione
con vari controlli preflight.
Se il comando restituisce messaggi FAILURE
, risolvi i problemi
e convalidare nuovamente il file. Se una determinata convalida delle caratteristiche restituisce un avviso WARNING
devi risolvere i problemi sottostanti prima di poter utilizzare quella funzionalità.
Modalità di controllo preflight e possibilità di ignorare le convalide
gkectl check-config
dispone di 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 sue convalide, il che può richiedere più tempo.
In modalità rapida, il comando salta i controlli che creano VM di test ed esegue solo i controlli rapidi. Abiliti la modalità veloce passando il flag
--fast
.
Puoi saltare convalide specifiche passando da altri flag descritti
nel seguente paese: gkectl check-config --help
.
Traffico tra la workstation di amministrazione e le VM di test
In modalità predefinita, il controllo preflight crea VM di test per il cluster. Ogni VM di test esegue un server HTTP in ascolto sulla porta 443 sulle porte del nodo 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 i propri indirizzi IP da un server DHCP, il controllo preliminare utilizza un server DHCP per assegnare gli 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 agli indirizzi IP statici specificati nei file di blocco IP le VM di test.
Il controllo preliminare, in esecuzione sulla workstation di amministrazione, 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 preflight?
Come best practice, conviene eseguire i controlli preflight in anticipo e prima di tentare per la creazione dei cluster. Eseguire i controlli preflight in anticipo 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 della doppia esecuzione è che gkectl prepare
carica il modello di VM
dell'immagine del sistema operativo del nodo del cluster nell'ambiente vSphere. Questo modello VM deve essere attivo prima di eseguire l'intero set di convalide.
Nella versione 1.2.1 e successive, la VM viene caricata dal comando check-config
in modo da poter 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
è necessario compilare ogni campo del file di configurazione per eseguire i controlli preflight
rispetto al file; puoi invece convalidare il file in modo iterativo mentre lo compili
i suoi campi. Ad esempio, se vuoi convalidare solo la configurazione di vCenter, puoi compilare solo i campi vcenter
ed eseguire i controlli in base a questi.
Tieni presente che la configurazione diventa immutabile dopo aver creato i cluster. L'esecuzione dei controlli preflight ti aiuta a scoprire e risolvere i problemi di configurazione prima di creare i cluster.
Preservare la VM di test per il debug
A partire dalla versione 1.2.1, il comando gkectl check-config
ha un --cleanup
flag.
Quando gkectl check-config
esegue un set completo di convalide, crea una VM di test e una chiave SSH associata. Se vuoi conservare la VM di test
Chiave SSH a scopo di debug. Imposta --cleanup
su false.
Il valore predefinito di --cleanup
è true.
Elenco dei controlli preflight
I controlli preflight convalidano ogni campo del file di configurazione. Ecco i controlli attuali:
Categoria | Descrizione | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
File di configurazione | In genere verifica che ogni campo e ogni specifica abbia i il formato e i valori previsti. Saltato con
Ignora campo |
||||||||||||||||
Internet | Convalida l'accesso a internet per i domini richiesti. Convalida la configurazione del proxy in base a dove esegui gkectl. Saltato con il flag |
||||||||||||||||
Immagine sistema operativo | Convalida l'esistenza delle immagini del sistema operativo. Azione saltata con il flag |
||||||||||||||||
Versione del sistema operativo Windows | Convalida la versione del sistema operativo Windows. Verifica che la versione Windows sia supportata durante la creazione di workstation di amministrazione 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 Saltato con il flag |
||||||||||||||||
Integrità del cluster | Verifica che il cluster di amministrazione o utente sia integro prima dell'upgrade:
Azione saltata con il flag |
||||||||||||||||
In entrata | Controlla se il cluster utente ha un oggetto Istio Gateway prima dell'upgrade. | ||||||||||||||||
IP riservato | Verifica che sia disponibile un numero sufficiente di indirizzi IP per la creazione e upgrade. Azione saltata con il flag |
||||||||||||||||
Google Cloud |
--skip-validation-gcp .
| ||||||||||||||||
Accedi a gcr.io/gke-on-prem-release |
Convalida l'accesso al registry delle immagini container ospitato in
Container Registry.
Ignorato da |
||||||||||||||||
Registro Docker |
privateregistryconfig Se configurato, convalida l'accesso al Docker Registry.
Azione saltata con il flag |
||||||||||||||||
vCenter | Verifica che tutti i campi vcenter siano presenti e inoltre
controlla quanto segue:
Saltato con il flag |
||||||||||||||||
Archiviazione |
| ||||||||||||||||
Carico di lavoro CSI |
Convalida che il cluster possa eseguire un carico di lavoro che utilizza un PersistentVolume di cui viene eseguito attraverso il driver CSI vSphere. Questo controllo viene eseguito durante l'upgrade e solo se ci sono 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
di tre se
Per disabilitare Azione saltata con il flag |
||||||||||||||||
Bilanciatore del carico | Convalida la configurazione del bilanciamento del carico:
--skip-validation-load-balancer .
|
||||||||||||||||
Networking | Verifica che gli intervalli CIDR, i VIP e gli IP statici (se configurati) forniti siano disponibili. Controlla che gli indirizzi IP non si sovrappongano. Azione saltata con il flag |
||||||||||||||||
DNS | Convalida la disponibilità del server DNS fornito. Azione saltata con il flag |
||||||||||||||||
NTP | Verifica che il server NTP (Network Time Protocol) fornito sia disponibile. Saltato con il flag |
||||||||||||||||
VIP | Invia un ping ai VIP forniti. Questo controllo ha esito positivo se il ping non va a buon fine, a indicare che il VIP previsto non è già in uso. Ignorato con
|
||||||||||||||||
IP dei nodi | Invia un ping agli indirizzi IP del nodo forniti. Questo controllo ha esito positivo se non riesce, il che indica che l'IP del nodo previsto non è già in uso. Saltato con il
flag |
Risultati del controllo preflight
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
, correggi i problemi e convalida di nuovo il file. - IGNORATO
Il controllo è stato ignorato, probabilmente perché l'assegno non è pertinente al tuo configurazione. Ad esempio, se utilizzi un server DHCP, verifica la presenza di I controlli DNS e degli IP dei nodi, relativi solo a una configurazione IP statico, vengono ignorati.
Se superi un flag che salta una convalida, il controllo ignorato non restituisce un risultato IGNORATO; la convalida non viene eseguita e non viene visualizzata nell'output comando.
- SCONOSCIUTO
L'operazione di salto ha restituito un codice diverso da zero. Puoi considerare UNKNOWN risultati come controlli non superati. In genere, UNKNOWN indica che il controllo non è riuscito a eseguire un pacchetto 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 il seguente 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à veloce" che ignora il
convalide che creano VM temporanee di test, come il VIP con bilanciamento del carico
convalide degli IP dei nodi. Per farlo, inserisci --fast
:
gkectl check-config --config [CONFIG] --fast
Ignorare convalide specifiche
Puoi passare flag per saltare in modo granulare convalide specifiche, ad esempio DNS, proxy e reti. Ogni flag di abbandono ha il prefisso --skip-[VALIDATION]
.
Per saperne di più sui flag di abbandono disponibili, esegui questo comando. Se vuoi, consulta il riferimento a gkectl check-config:
gkectl check-config --help
Ad esempio, per saltare le convalide del bilanciatore del carico:
gkectl check-config --config my-config.yaml --skip-validation-load-balancer
Annullamento dei controlli preflight in corso...
Se hai iniziato a eseguire i controlli preflight e vuoi annullare l'operazione, premi Ctrl + C due volte. Se un controllo preliminare ha creato una VM di test, l'annullamento dovrebbe anche ripulire automaticamente la VM.
Pulizia di una VM di test
Se al termine dei controlli preflight rimane una VM di test, puoi eliminarla da vCenter. Una VM di test ha un nome simile al seguente:
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
Quando la VM è stata spenta, 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 in fase di convalida utilizza la modalità di bilanciamento del carico integrato e IP senza un Docker Registry 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 rapida,
gkectl check-config --fast
, per controlli preflight se si verificano entrambe le seguenti condizioni:Hai configurato Google Distributed Cloud per utilizzare un proxy.
Hai installato uno dei seguenti bundle:
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
del bundle dalla pagina Download./var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
dalla workstation di amministrazione.
Puoi eseguire un set completo di convalida solo se hai installato l'intero bundle. 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 va a buon fine quando provi a eseguire un insieme completo di convalide. Tuttavia, puoi eseguire un numero inferiore di convalide passando il flag--fast
.gkectl check-config --config [CONFIG] --fast