Questa pagina spiega come eseguire controlli preflight sul tuo file di configurazione Cluster Anthos su VMware (GKE On-Prem).
Panoramica
Durante l'installazione, esegui gkectl create-config
per generare un file di configurazione Cluster Anthos su VMware. Il file di configurazione guida l'installazione: fornisci informazioni sull'ambiente vSphere, sulla rete e sul bilanciatore del carico e sull'aspetto che dovrebbero avere i tuoi cluster. Puoi generare un file di configurazione prima o dopo aver creato una workstation amministrativa. Per superare determinati 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 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 un messaggio FAILURE
, risolvi i problemi e convalida di nuovo il file. Se una determinata funzionalità restituisce messaggi di AVVISO, dovrai risolvere i problemi sottostanti prima di poter utilizzare quella funzionalità.
Modalità di controllo preflight e esclusione 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 vSphere temporanee (VM) come parte delle sue convalide, il che può richiedere più tempo.
In modalità veloce, il comando ignora i controlli che creano VM di test ed esegue solo i controlli rapidi. Puoi attivare la modalità veloce passando il flag
--fast
.
Puoi saltare specifiche convalide trasmettendo 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 specificate nel file di configurazione.
Diversi indirizzi IP vengono assegnati alle VM di test. Se il file di configurazione indica che i nodi del cluster ricevono 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 vengono assegnati indirizzi IP statici, il controllo preflight assegna gli indirizzi IP statici specificati nei file di blocco 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 specificate nel file di configurazione.
Quando dovrei eseguire i controlli preflight?
È una best practice eseguire i controlli preflight prima e prima di tentare di creare cluster. L'esecuzione anticipata dei controlli può aiutarti a verificare di aver configurato correttamente l'ambiente vSphere e la tua rete.
Se utilizzi Cluster Anthos 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 dell'esecuzione due volte è che gkectl prepare
carica il modello VM per l'immagine sistema operativo del nodo cluster nel tuo ambiente vSphere. Il modello di VM deve essere attivo prima di eseguire il set completo di convalide.
Nei cluster Anthos su VMware 1.2.1 e versioni successive, il comando check-config
carica da solo il modello della VM, quindi puoi 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 nel file di configurazione per eseguire controlli preflight contro il file; piuttosto, puoi convalidare il file in modo iterativo man mano che compili i campi. Ad esempio, se volessi convalidare solo la configurazione di vCenter, puoi compilare solo i campi vcenter
ed eseguire i controlli per i dati.
Tieni presente che la configurazione dei tuoi cluster Anthos su VMware diventa immutabile dopo la creazione dei tuoi cluster. I controlli preflight ti aiutano a scoprire e risolvere i problemi nella configurazione prima di creare i cluster.
Conservazione della VM di test per il debug
A partire dai cluster Anthos su VMware 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
è vero.
Elenco di controlli preliminari
I controlli preflight convalidano ogni campo nel file di configurazione. Ecco i controlli correnti:
Categoria | Descrizione | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
File di configurazione | In genere convalida che ogni campo e specifica abbia il formato e i valori previsti. Ignorato con il flag Salta la convalida del campo | ||||||||||||||||
Internet | Convalida l'accesso a Internet per i domini richiesti. Convalida la configurazione del proxy in base all'esecuzione di gkectl. Ignorato con il flag |
||||||||||||||||
Immagine sistema operativo | Convalida l'esistenza di immagini del sistema operativo. Ignorato con il flag |
||||||||||||||||
Versione del sistema operativo Windows | Convalida la versione del sistema operativo Windows. Convalida che la versione di 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, la versione del cluster utente e la versione Ignorato con il flag |
||||||||||||||||
Integrità del cluster | Verifica che lo stato dell'amministratore o del cluster utente sia integro prima dell'upgrade:
Ignorato con il flag |
||||||||||||||||
Ingress | Verifica se il cluster utente dispone di un oggetto Gateway Istio prima dell'upgrade. Vedi Migrazione in entrata. |
||||||||||||||||
IP prenotato | Convalida la disponibilità di indirizzi IP sufficienti per la creazione e l'upgrade. Ignorato con il flag |
||||||||||||||||
Google Cloud |
--skip-validation-gcp .
| ||||||||||||||||
Accesso all'accesso gcr.io/gke-on-prem-release |
Convalida l'accesso ai cluster Anthos sul registro di immagini container di VMware ospitato in Container Registry.
Ignorato dal flag |
||||||||||||||||
Registro Docker |
privateregistryconfig Se configurato, concede 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 |
||||||||||||||||
Host per gruppi anti-affinità | Convalida che il numero di host vCenter fisici è almeno tre se
Per disabilitare Ignorato con il flag |
||||||||||||||||
Bilanciatore del carico | Convalida la configurazione di bilanciamento del carico:
--skip-validation-load-balancer .
|
||||||||||||||||
Networking | Convalida la disponibilità di intervalli CIDR, VIP e IP statici (se configurati) disponibili. Verifica che gli indirizzi IP non si sovrappongano. Ignorato con il flag |
||||||||||||||||
DNS | Convalida la disponibilità del server DNS fornito. Ignorato con il flag |
||||||||||||||||
NTP | Convalida la disponibilità del server NTP (Network Time Protocol) fornito. Ignorato 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 scelto. Ignorato con il flag |
||||||||||||||||
IP dei nodi | Invia un ping agli indirizzi IP dei nodi forniti. Questo controllo ha esito positivo se il ping non va a buon fine, a indicare che l'IP del nodo previsto non è già in corso. 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 suo valore non ha 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 per i controlli DNS e IP dei nodi, pertinenti solo per una configurazione IP statica, vengono ignorati.
Se passi un flag che ignora una convalida, il controllo ignorato non restituisce un risultato SALTATO; piuttosto, la convalida non viene eseguita e non viene visualizzata nell'output comando.
- SCONOSCIUTO
Il salto ha restituito un codice diverso da zero. I risultati sconosciuti possono essere considerati controlli non superati. UNKNOWN di solito indica che il controllo non è riuscito a eseguire un pacchetto di sistema, ad esempio non è possibile eseguire nslookup o non è possibile eseguire gcloud.
Disponibile a breve
I seguenti controlli preflight verranno aggiunti in una release futura:
- Server NTP
Esecuzione di controlli preliminari
Puoi eseguire i controlli preflight eseguendo il comando seguente:
gkectl check-config --config [CONFIG]
dove [CONFIG] è il percorso del file di configurazione Cluster Anthos su VMware
Esecuzione in modalità veloce
Se preferisci, puoi eseguire controlli preflight in "modalità veloce", che ignora le convalide che creano VM di test temporanee, come il bilanciamento del carico VIP e convalide degli IP dei nodi. A tale scopo, passa il --fast
:
gkectl check-config --config [CONFIG] --fast
Salta specifiche convalide
Puoi passare i flag per saltare in modo dettagliato specifiche convalide, come DNS, proxy e networking. Ogni prefisso per ignorare è preceduto da --skip-[VALIDATION]
.
Per scoprire di più sui flag disponibili, esegui questo comando. In via facoltativa, consulta la pagina gkectl check-configreference:
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
Se hai avviato l'esecuzione dei controlli preflight e vuoi annullare, premi due volte CTRL + C. Se un controllo preflight ha creato una VM di test, l'annullamento dovrebbe eseguire automaticamente la pulizia della VM.
Pulizia di una VM di test
Se una VM di test è rimasta 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 e seleziona Spegni > Spegni
Dopo aver spento la VM, fai di nuovo clic con il pulsante 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 integrata e gli 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 preflight se si applicano entrambe le seguenti condizioni:Hai configurato Cluster Anthos su VMware per utilizzare un proxy.
Hai installato uno dei seguenti pacchetti:
- Il pacchetto
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
dalla pagina Download. - Il bundle
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
dalla workstation di amministrazione.
- Il pacchetto
Puoi eseguire l'intero insieme di convalida solo se hai installato il pacchetto 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 predefiniti,
gkectl check-config
non riesce quando cerchi di eseguire un set completo di convalide. Tuttavia, puoi eseguire una serie più limitata di convalide passando il flag--fast
.gkectl check-config --config [CONFIG] --fast