Questa pagina spiega come eseguire i controlli preflight sul file di configurazione di GKE su VMware.
Panoramica
Durante l'installazione, esegui gkectl create-config
per generare un file di configurazione GKE su VMware. Il file di configurazione è responsabile dell'installazione: devi fornire informazioni sull'ambiente vSphere, sulla rete e sul bilanciatore del carico, nonché sull'aspetto dei cluster. Puoi generare un file di configurazione prima o dopo aver creato una workstation di amministrazione. Per superare alcuni controlli, devono essere eseguiti dalla workstation di amministrazione.
Dopo aver modificato il file per soddisfare le esigenze del tuo ambiente e dei tuoi cluster, puoi utilizzarlo per creare i tuoi cluster nel tuo ambiente on-prem.
Prima di creare i cluster, 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 di nuovo il file. Se la convalida di una determinata funzionalità restituisce messaggi WARNING, devi risolvere i problemi sottostanti prima di poter utilizzare la funzionalità.
Modalità di controllo preflight e salto delle 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) temporanee vSphere nell'ambito delle sue convalide, che possono richiedere più tempo.
In modalità veloce, il comando ignora i controlli che creano le VM di test ed esegue solo quelli veloci. Puoi attivare la modalità veloce passando il flag
--fast
.
Puoi saltare convalide specifiche passando altri flag descritti in 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 che rimane in ascolto sulla porta 443 e sulle porte dei nodi che hai specificato 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 preflight 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 preflight assegna gli indirizzi IP statici specificati nei file dei blocchi IP alle VM di test.
Il controllo preflight, 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 che hai specificato nel file di configurazione.
Quando devo eseguire i controlli preflight?
Come best practice, conviene eseguire i controlli preflight in anticipo e prima di tentare di creare cluster. L'esecuzione anticipata dei controlli preflight può aiutare a confermare di aver configurato correttamente l'ambiente vSphere e la rete.
Se utilizzi GKE su VMware 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 l'esecuzione due volte è che gkectl prepare
carica il modello di VM per l'immagine del sistema operativo del nodo cluster nell'ambiente vSphere. Quel modello di VM deve essere attivo
prima di eseguire il set completo di convalide.
In GKE su VMware versione 1.2.1 e successive, il comando check-config
carica autonomamente il modello di VM, in modo che tu possa eseguire il set completo di convalide prima di eseguire gkectl prepare
:
Esegui
gkectl check-config
, senza il flag--fast
.Esegui
gkectl prepare
.
I controlli preflight convalidano i valori che hai fornito al file. Non è necessario compilare ogni campo del file di configurazione per eseguire i controlli preflight sul file; piuttosto, puoi convalidare il file in modo iterativo man mano che completi i campi. Ad esempio, se vuoi solo convalidare la tua configurazione vCenter, puoi compilare solo i campi vcenter
ed eseguire i controlli a fronte di questi.
Tieni presente che la configurazione di GKE su VMware diventa immutabile dopo aver creato i cluster. L'esecuzione dei controlli preflight consente di scoprire e risolvere i problemi nella configurazione prima di creare i cluster.
Conservazione della VM di test per il debug
A partire dalla versione 1.2.1 di GKE su VMware, il comando gkectl check-config
ha un flag --cleanup
.
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 e la 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 nel file di configurazione. Ecco i controlli attuali:
Categoria | Descrizione | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
File di configurazione | In genere convalida che ogni campo e ogni specifica abbiano il formato e i valori previsti. Ignorata con
flag Ignora la convalida del campo | ||||||||||||||||
Internet | Convalida l'accesso a internet per i domini richiesti. Convalida la configurazione del proxy in base a dove viene eseguito gkectl. Ignorata con il flag |
||||||||||||||||
Immagine sistema operativo | Convalida l'esistenza di immagini sistema operativo. Ignorata 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 | Convalida la versione del cluster di amministrazione, del cluster utente e della versione Ignorata con il flag |
||||||||||||||||
Integrità del cluster | Verifica che il cluster di amministrazione o utente sia integro prima dell'upgrade:
Ignorata con il flag |
||||||||||||||||
In entrata | Verifica se il cluster utente ha un oggetto gateway Istio prima dell'upgrade. | ||||||||||||||||
IP riservato | Verifica che sia disponibile un numero sufficiente di indirizzi IP per la creazione e l'upgrade. Ignorata con il flag |
||||||||||||||||
Google Cloud |
--skip-validation-gcp .
| ||||||||||||||||
Accesso all'accesso di gcr.io/gke-on-prem-release |
Convalida l'accesso al registro di immagini container di GKE su VMware ospitato in Container Registry.
Ignorato dal flag |
||||||||||||||||
Registro Docker |
privateregistryconfig Se configurato, convalida l'accesso al registro Docker.
Ignorata con il flag |
||||||||||||||||
vCenter | Verifica che siano presenti tutti i campi vcenter e
verifica inoltre quanto segue:
Ignorata con il flag |
||||||||||||||||
Host per gruppi anti-affinità | Convalida che il numero di host vCenter fisici è almeno tre se
Per disabilitare Ignorata 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) siano disponibili. Verifica che gli indirizzi IP non si sovrappongano. Ignorata con il flag |
||||||||||||||||
DNS | Verifica che il server DNS fornito sia disponibile. Ignorata con il flag |
||||||||||||||||
NTP | Verifica che il server NTP (Network Time Protocol) fornito sia disponibile. Ignorata 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à stato preso. Ignorata con
il flag |
||||||||||||||||
IP dei nodi | Invia un ping agli indirizzi IP del nodo forniti. Questo controllo ha esito positivo se il ping non va a buon fine, indicando che l'IP del nodo previsto non è già stato preso. Ignorata 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 suo 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 DNS e IP nodo, attinenti solo a una configurazione con IP statico, vengono ignorati.
Se passi un flag che ignora una convalida, il controllo ignorato non restituisce un risultato IGNORATO; piuttosto la convalida non viene eseguita e non viene visualizzata affatto nell'output del comando.
- SCONOSCIUTO
Lo skip ha restituito un codice diverso da zero. Puoi considerare i risultati SCONOSCIUTI come controlli non superati. UNKNOWN di solito indica che il controllo non ha eseguito il pacchetto di sistema, ad esempio non è stato possibile eseguire nslookup o gcloud.
Disponibile a breve
I seguenti controlli preflight verranno aggiunti in una release futura:
- Server NTP
Esecuzione dei controlli preflight
Puoi eseguire i controlli preflight eseguendo questo comando:
gkectl check-config --config [CONFIG]
dove [CONFIG] è il percorso del file di configurazione GKE on VMware
Esecuzione in modalità veloce
Se preferisci, puoi eseguire i controlli preflight in "modalità veloce", in modo da ignorare le convalide che creano VM di test temporanee, come le convalide di VIP di bilanciamento del carico e IP del nodo. Per farlo, passa --fast
:
gkectl check-config --config [CONFIG] --fast
Ignorare convalide specifiche
Puoi passare i flag per saltare in modo granulare convalide specifiche, come DNS, proxy e networking. Ogni flag di abbandono è preceduto dal prefisso --skip-[VALIDATION]
.
Per scoprire di più sui flag di skip disponibili, esegui il comando seguente. Facoltativamente, consulta il riferimento 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 preflight ha creato una VM di test, l'annullamento dovrebbe anche eliminare automaticamente la VM.
Pulizia di una VM di test
Se una VM di test non viene eliminata dopo il completamento dei controlli preflight, 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, quindi fai clic su Spegnimento > Spegni
Dopo che la VM si è spenta, fai di nuovo clic con il pulsante destro del mouse sulla VM, quindi 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 integrata 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 controlli preflight se si applicano entrambe le seguenti condizioni:Hai configurato GKE su VMware 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
della pagina Download. - Il bundle
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
dalla workstation di amministrazione.
- Il bundle
Puoi eseguire il set completo di convalida 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 set completo di convalide. Tuttavia, puoi eseguire un insieme più ridotto di convalide passando il flag--fast
.gkectl check-config --config [CONFIG] --fast