Questa pagina mostra come creare un cluster utente.
Generazione di un file di configurazione
Per creare un cluster utente, devi avere un file di configurazione del cluster utente. Se
hai utilizzato gkeadm
per creare la tua workstation di amministrazione, gkeadm
ha generato un modello per il tuo file di configurazione e completato alcuni dei campi.
Se non hai utilizzato gkeadm
per creare la workstation di amministrazione, puoi generare un modello eseguendo questo comando:
gkectl create-config cluster --config [OUTPUT_PATH]
dove [OUTPUT_PATH] è un percorso a tua scelta per il modello
generato. Se non includi il flag --config
, gkectl
assegna al file il nome user-cluster.yaml
e lo inserisce nella directory corrente.
Compilazione del file di configurazione
name
Imposta il campo
name
su un nome a tua scelta per il cluster utente.
gkeOnPremVersion
Imposta il campo
gkeOnPremVersion
.
vCenter
I valori impostati nella sezione vCenter
del file di configurazione del cluster di amministrazione sono globali. In altri termini, vengono applicati al cluster di amministrazione e ai cluster utente.
Per ogni cluster utente creato, hai la possibilità di eseguire l'override di alcuni
valori vCenter
globali.
Se vuoi eseguire l'override di uno qualsiasi dei valori vCenter
globali, compila i campi pertinenti nella sezione
vCenter
del file di configurazione del cluster utente.
network
Imposta network.ipMode.type
sullo stesso valore che hai impostato nel file di configurazione del cluster di amministrazione: "dhcp"
o "static"
.
Se imposti ipMode.type
su "static"
, crea un
file di configurazione host
che fornisca gli indirizzi IP statici per i nodi nel cluster utente. Quindi
imposta
network.ipBlockFilePath
sul percorso del file di configurazione dell'host.
Fornisci i valori per i campi rimanenti nella sezione
network
.
loadBalancer
Metti da parte un VIP per il server API di Kubernetes del tuo cluster utente. Metti da parte un altro VIP per il servizio in entrata del tuo cluster utente. Fornisci i tuoi VIP come valori per loadBalancer.controlPlaneVIP
e loadBalancer.ingressVIP
.
Imposta loadBalancer.kind
sullo stesso valore che hai impostato nel file di configurazione del cluster di amministrazione: "ManualLB"
, "F5BigIP"
o "Seesaw"
. Dopodiché compila la sezione
corrispondente:
manualLB
,
f5BigIP
o
seesaw
.
proxy
Se la rete che contiene i nodi del cluster utente è protetta da un server proxy, compila la sezione proxy
.
masterNode
Compila la sezione
masterNode
.
nodePools
Compila la sezione
nodePools
.
authentication
Se vuoi utilizzare OpenID Connect (OIDC) per autenticare gli utenti, compila la sezione authentication.oidc
.
Se vuoi fornire un certificato di pubblicazione aggiuntivo per il server vCenter del tuo cluster utente, compila la sezione
authentication.sni
.
stackdriver
Compila la sezione
stackdriver
.
gkeConnect
Compila la sezione
gkeConnect
.
cloudRun
Imposta
cloudRun.enabled
su true
o false
.
Convalida del file di configurazione
Dopo aver compilato il file di configurazione del cluster utente, esegui
gkectl check-config
per verificare che il file sia valido:
gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_PATH]
dove:
[ADMIN_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig per il cluster di amministrazione.
[CONFIG_PATH] è il percorso del file di configurazione del tuo cluster utente.
Se il comando restituisce messaggi di errore, correggi i problemi e convalida di nuovo il file.
Se vuoi ignorare le convalide più lunghe, supera il flag --fast
.
Per ignorare le singole convalide, utilizza i flag --skip-validation-xxx
. Per
ulteriori informazioni sul comando check-config
, consulta
Esecuzione di controlli preflight.
Creazione del cluster utente
Crea il cluster utente:
gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \ --config [CONFIG_PATH] --skip-validation-all
dove
[CONFIG_PATH] è il percorso del file di configurazione del tuo cluster utente.
[ADMIN_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig per il cluster di amministrazione.
Il comando gkectl create cluster
crea un file kubeconfig denominato
[USER_CLUSTER_NAME]-kubeconfig
nella directory corrente. Questo file kubeconfig ti servirà in un secondo momento per interagire con il cluster utente.
Non utilizzare il flag --skip-validation-all
se non hai convalidato il file di configurazione in precedenza.
Verifica che il cluster utente sia in esecuzione
Verifica che il cluster utente sia in esecuzione:
kubectl get nodes --kubeconfig [USER_CLUSTER_KUBECONFIG]
dove [USER_CLUSTER_KUBECONFIG] è il percorso del tuo file kubeconfig.
L'output mostra i nodi del cluster utente.
Risolvere i problemi
Diagnostica dei problemi del cluster con gkectl
Utilizza i comandi gkectl diagnose
per identificare i problemi del cluster e condividerli con Google. Consulta
Diagnosi dei problemi del cluster.
Comportamento di logging predefinito
Per gkectl
e gkeadm
è sufficiente utilizzare le impostazioni di logging predefinite:
-
Per impostazione predefinita, le voci di log vengono salvate come segue:
-
Per
gkectl
, il file di log predefinito è/home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log
e il file è collegato direttamente al filelogs/gkectl-$(date).log
nella directory locale in cui viene eseguitogkectl
. -
Per
gkeadm
, il file di log predefinito èlogs/gkeadm-$(date).log
nella directory locale in cui eseguigkeadm
.
-
Per
- Tutte le voci di log vengono salvate nel file di log, anche se non sono stampate
nel terminale (quando
--alsologtostderr
èfalse
). - Il livello di dettaglio
-v5
(predefinito) copre tutte le voci di log necessarie al team di assistenza. - Il file di log contiene anche il comando eseguito e il messaggio di errore.
Se hai bisogno di aiuto, ti consigliamo di inviare il file di log al team di assistenza.
Specificare una posizione non predefinita per il file di log
Per specificare una posizione non predefinita per il file di log gkectl
, utilizza il flag --log_file
. Il file di log specificato non verrà collegato direttamente alla directory locale.
Per specificare una posizione non predefinita per il file di log gkeadm
, utilizza il flag --log_file
.
Localizzazione dei log dell'API Cluster nel cluster di amministrazione
Se l'avvio di una VM non riesce dopo l'avvio del piano di controllo dell'amministratore, puoi provare a eseguire il debug controllando i controller dell'API cluster nel log:
Trova il nome del pod dei controller API del cluster nello spazio dei nomi
kube-system
, dove [ADMIN_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig del cluster di amministrazione:kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
Apri i log del pod, dove [POD_NAME] è il nome del pod. Se preferisci, utilizza
grep
o uno strumento simile per cercare errori:kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager
Debug dei problemi BIG-IP di F5 utilizzando il kubeconfig del nodo del piano di controllo del cluster di amministrazione
Dopo un'installazione, GKE On-Prem genera un file kubeconfig nella
home directory della workstation di amministrazione denominata
internal-cluster-kubeconfig-debug
. Il file kubeconfig è identico al kubeconfig del cluster di amministrazione, con la differenza che rimanda direttamente al nodo del piano di controllo del cluster di amministrazione, dove viene eseguito il piano di controllo dell'amministratore. Puoi utilizzare il file internal-cluster-kubeconfig-debug
per eseguire il debug dei problemi di BIG-IP di F5.
La convalida di gkectl check-config
non riesce: non riesce a trovare le partizioni BIG-IP di F5
- Sintomi
La convalida non riesce perché le partizioni BIG-IP di F5 non possono essere trovate, anche se esistono.
- Potenziali cause
Un problema con l'API F5 BIG-IP può causare la mancata riuscita della convalida.
- Risoluzione
Riprova a eseguire
gkectl check-config
.
gkectl prepare --validate-attestations
non riuscito: impossibile convalidare l'attestazione di build
- Sintomi
L'esecuzione di
gkectl prepare
con il flag--validate-attestations
facoltativo restituisce il seguente errore:could not validate build attestation for gcr.io/gke-on-prem-release/.../...: VIOLATES_POLICY
- Potenziali cause
Potrebbe non esistere un'attestazione per le immagini interessate.
- Risoluzione
Prova a scaricare e a eseguire nuovamente il deployment dell'OVA della workstation di amministrazione, come indicato nella sezione Creare una workstation di amministrazione. Se il problema persiste, contatta Google per ricevere assistenza.
Debug utilizzando i log del cluster di bootstrap
Durante l'installazione, GKE On-Prem crea un cluster di bootstrap temporaneo. Dopo un'installazione riuscita, GKE On-Prem elimina il cluster di bootstrap, lasciandoti il cluster di amministrazione e il cluster utente. In genere, non dovresti avere motivo di interagire con questo cluster.
Se si verifica un problema durante l'installazione e hai passato
--cleanup-external-cluster=false
a gkectl create cluster
,
potrebbe essere utile eseguire il debug utilizzando i log del cluster di bootstrap. Puoi trovare il pod e quindi recuperare i relativi log:
kubectl --kubeconfig /home/ubuntu/.kube/kind-config-gkectl get pods -n kube-system
kubectl --kubeconfig /home/ubuntu/.kube/kind-config-gkectl -n kube-system get logs [POD_NAME]
Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi.