Questo argomento spiega come eseguire controlli preflight per il file di configurazione GKE On-Prem.
Panoramica
Durante l'installazione, esegui gkectl create-config
per generare un
file di configurazione on-prem di GKE. Il file di configurazione favorisce l'installazione: fornisci informazioni sull'ambiente vSphere, sulla rete e sul bilanciatore del carico e sull'aspetto dei cluster. Puoi generare un file di configurazione prima o dopo aver creato una workstation di amministrazione. 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 tuoi cluster nell'ambiente on-prem.
Prima di creare i cluster, esegui
gkectl check-config
per
convalidare il file di configurazione con diversi controlli preliminari.
Modalità di verifica preflight e esclusione delle convalide
gkectl check-config
ha una modalità predefinita e una modalità veloce:
- In modalità predefinita, il comando convalida ogni campo in modo completo. Inoltre, la modalità predefinita crea macchine virtuali vSphere temporanee (VM) come parte delle relative convalide, che possono 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 nel flag
--fast
.
Puoi ignorare convalide specifiche passando in altri flag, descritti in gkectl check-config --help
.
Quando dovrei eseguire i controlli preliminari?
Una best practice consiste nell'eseguire controlli preliminari e prima di tentare di creare cluster. L'esecuzione anticipata di controlli preliminari può aiutarti a confermare di aver configurato correttamente l'ambiente vSphere e la rete.
Se utilizzi GKE On-Prem 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: gkectl prepare
carica il modello VM per l'immagine del sistema operativo del nodo del cluster nel tuo ambiente vSphere. Il modello di VM deve essere attivo prima di eseguire l'insieme completo delle convalide.
In GKE on-prem 1.2.1 e versioni successive, il comando check-config
carica automaticamente il modello VM, quindi puoi eseguire l'intero insieme 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 devi compilare ogni campo nel file di configurazione per eseguire controlli preflight contro il file, ma puoi convalidare il file in modo iterativo man mano che compili i 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 tua configurazione GKE On-Prem diventa immutabile dopo che avrai creato i cluster. L'esecuzione di controlli preliminari ti consente di individuare e risolvere i problemi nella configurazione prima di creare i cluster.
Conservazione della VM di test per il debug
A partire da GKE On-Prem versione 1.2.1, il comando gkectl check-config
ha un flag --cleanup
.
Quando esegue una serie completa di convalide, gkectl check-config
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 convalida che ogni campo e specifica abbia il formato e i valori previsti. Ignorato con flag Salta la convalida del campo | ||||||||||||||||
Internet | Convalida l'accesso a Internet per i domini richiesti. Convalida la configurazione del proxy in base a dove esegui gkectl. Ignorato con il flag |
||||||||||||||||
Google Cloud |
--skip-validation-gcp .
| ||||||||||||||||
Accesso a gcr.io/gke-on-prem-release |
Convalida l'accesso a Container On-Prem's Container Image Registry ospitato in Container Registry.
Ignorato dal flag |
||||||||||||||||
Registro Docker |
privateregistryconfig Se configurato, non ha accesso al registro Docker.
Ignorato con il flag |
||||||||||||||||
vCenter | Verifica la presenza di tutti i campi vcenter e verifica
anche quanto segue:
Ignorato con il flag |
||||||||||||||||
Bilanciatore del carico | Convalida la configurazione del bilanciamento del carico:
--skip-validation-load-balancer .
|
||||||||||||||||
Networking | Convalida la disponibilità di intervalli CIDR, VIP e IP statici (se configurati). 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). Ignorato con il flag |
||||||||||||||||
VIP | Invia un ping ai VIP indicati. Questo controllo ha esito positivo se il ping non riesce, a indicare che il VIP previsto non è già stato preso. 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 riesce, a indicare che l'IP previsto non è già stato preso. Ignorato con il flag |
Risultati del controllo preliminare
I controlli preliminari 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é non è pertinente alla configurazione. Ad esempio, se utilizzi un server DHCP, i controlli per i controlli DNS e IP dei nodi, che riguardano solo una configurazione IP statica, vengono ignorati.
Se passi un flag che ignora una convalida, il controllo ignorato non restituisce un risultato SALTATO; al contrario, la convalida non viene eseguita e non viene visualizzata nell'output comando.
- SCONOSCIUTO
Il pulsante Salta ha restituito un codice diverso da zero. Puoi considerare i risultati UNKNOWN come controlli non riusciti. UNKNOWN di solito indica che il controllo non è riuscito a eseguire alcuni pacchetti di sistema, ad esempio l'esecuzione di nslookup o l'esecuzione di gcloud non riuscita.
disponibile a breve
I seguenti controlli preliminari verranno aggiunti in una release futura:
- Server NTP
Esecuzione di controlli preliminari
Per eseguire i controlli preliminari, esegui questo comando:
gkectl check-config --config [CONFIG]
dove [CONFIG] è il percorso del tuo file di configurazione GKE On-Prem
Esecuzione in modalità veloce
Se preferisci, puoi eseguire controlli preliminari in "modalità veloce", che ignora le convalide che creano VM di test temporanee, come il bilanciamento del carico VIP e le convalide IP dei nodi. A tale scopo, passa --fast
:
gkectl check-config --config [CONFIG] --fast
Omissione convalide specifiche
Puoi ignorare i flag per ignorare in modo granulare convalide specifiche, come DNS,
proxy e networking. Ogni flag di salto è preceduto dal prefisso --skip-[VALIDATION]
.
Per sapere di più sui flag di abbandono disponibili, esegui il comando seguente. In via facoltativa, consulta il riferimento per la configurazione di controllo gkectl:
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 preflight e vuoi annullare, premi due volte Ctrl + C. Se un controllo preflight ha creato una VM di test, l'annullamento dovrebbe anche pulire la VM automaticamente.
Pulizia di una VM di test
Se una VM di test è rimasta al termine 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 pulsante destro del mouse sulla VM, quindi fai clic su Spegni > Spegni
Dopo aver spento la VM, fai nuovamente clic con il pulsante destro del mouse sulla VM e fai clic su Elimina dal disco.
Esempio
Di seguito è riportato un esempio del comportamento 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:
gkectl check-config --config config.yaml - 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 - 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 (creates test VM); use flag --fast to disable. - Validation Category: F5 BIG-IP - [SUCCESS] Admin Cluster VIP and NodeIP - [SUCCESS] User Cluster VIP and NodeIP All validation results were SUCCESS.
Problema noto
In GKE on-prem 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 una selezione di convalide più ridotta passando il flag --fast
.
gkectl check-config --config [CONFIG] --fast
Questo problema verrà risolto nella versione 1.2.1.