Nei cluster Anthos su Bare Metal puoi eseguire controlli preliminari per diverse situazioni:
- I cluster Anthos su Bare Metal eseguono controlli preflight quando crei o aggiorni cluster di amministrazione, ibridi, autonomi o utente e risorse del pool di nodi con
bmctl
. Se i controlli non vanno a buon fine, non vengono apportate modifiche. Puoi anche ignorare questi controlli. - I cluster Anthos su Bare Metal eseguono anche controlli interni in fase preliminare quando applichi risorse Kubernetes ai cluster utente da un cluster di amministrazione o ibrido. I controlli vengono eseguiti prima che le modifiche vengano applicate ai cluster utente interessati. Se i controlli non vanno a buon fine, non vengono apportate modifiche. Puoi anche ignorare questi controlli o eseguirli in modo esplicito.
Controlli preliminari durante la creazione dei cluster tramite bmctl
Quando crei cluster admin, ibridi, standalone o utente con il comando
bmctl
, i cluster Anthos su Bare Metal eseguono automaticamente i controlli preliminari
prima che vengano apportate modifiche.
Dopo il superamento dei controlli, i cluster Anthos su Bare Metal creano i cluster.
Ignora i risultati dei controlli automatici preflight
Se vuoi ignorare questi controlli automatici preliminari, puoi utilizzare il flag facoltativo --force
nel comando.
Esecuzione indipendente dei controlli preliminari
Puoi anche eseguire i controlli preliminari prima di creare un cluster, per assicurarti che le risorse delle macchine e dei nodi superino i controlli.
Il comando seguente convalida il file di configurazione del cluster specificato, ma non tenta di creare il cluster stesso:
bmctl check config --cluster CLUSTER_NAME
Questo comando controlla se le macchine e la rete sono pronte per la creazione del cluster:
bmctl check preflight --cluster CLUSTER_NAME
Solo i cluster Anthos su Bare Metal 1.7.0 e versioni successive supportano la creazione di cluster utente con bmctl
.
Controlli preliminari per la creazione del cluster utente
I cluster utente vengono creati da un cluster di amministrazione o ibrido esistente. I cluster Anthos su Bare Metal eseguono automaticamente i controlli preliminari prima di apportare modifiche. Puoi anche eseguire controlli preliminari
con kubectl
prima di creare un cluster.
Crea un file di configurazione del cluster utente seguendo i passaggi descritti in Creare cluster utente in una configurazione multi-cluster
Crea uno spazio dei nomi per il nuovo cluster utente. Ad esempio, per creare un nuovo cluster utente denominato
user1
, puoi creare uno spazio dei nomi denominatocluster-user1
. Ecco il comandokubectl
per creare lo spazio dei nomi, dove ADMIN_KUBECONFIG specifica il percorso del file del cluster di amministrazionekubeconfig
:kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
Carica il file della chiave privata SSH nel nuovo spazio dei nomi come secret per definire le tue credenziali. Ecco il comando di esempio, dove ADMIN_KUBECONFIG specifica il percorso del file del cluster di amministrazione
kubeconfig
e SSH_PRIVATE_KEY_FILE_PATH specifica il percorso del file della chiave privata SSH:kubectl --kubeconfig ADMIN_KUBECONFIG create secret generic ssh-key -n cluster-user1 --from-file=id_rsa=SSH_PRIVATE_KEY_FILE_PATH
Crea un nuovo file YAML del controllo preflight, con la seguente struttura. Nel campo
configYAML
, inserisci il contenuto testuale del file di configurazione del cluster utente creato al passaggio 1:apiVersion: baremetal.cluster.gke.io/v1 kind: PreflightCheck metadata: generateName: preflightcheck- namespace: cluster-user1 spec: configYAML: | # insert user cluster config file content here.
Utilizza il comando
kubectl
per eseguire il controllo preliminare per il cluster utente:kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
Sostituisci quanto segue:
ADMIN_KUBECONFIG
: un percorso al file kubeconfig del cluster di amministrazioneUSER_CLUSTER_PREFLIGHT_CHECK_CONFIG
: un percorso al file YAML del controllo preflight creato nel passaggio precedente
Ad esempio, per un cluster di amministrazione denominato
cluster1
e una configurazione di controllo preliminare di un cluster utente denominatauser1-preflight.yaml
, il comando è:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
Il sistema restituisce il seguente messaggio, con l'ID job del controllo preliminare:
preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
Esegui una query sullo stato del job di controllo preliminare utilizzando il comando
kubectl
:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-user1 get preflightchecks preflightcheck-g7hfo4
Se il job di controllo preflight non riesce, controlla il relativo stato, quindi controlla i log dettagliati dei job per vedere quale controllo non è andato a buon fine. Risolvi i problemi menzionati nei job di conseguenza ed esegui di nuovo i controlli.
Controlli preliminari interni sui cluster esistenti
I cluster Anthos su Bare Metal eseguono anche controlli interni in fase preliminare quando applichi risorse Kubernetes a un cluster di amministrazione o ibrido esistente. Se qualche controllo non va a buon fine, i cluster Anthos su Bare Metal non possono modificare i nodi correlati a meno che tu non abbia superato specificamente i controlli.
Ignora i controlli preliminari quando applichi le risorse Kubernetes
Per ignorare i controlli interni prima del controllo quando applichi risorse ai cluster esistenti, devi impostare il campo BypassPreflightCheck
su true
nel file YAML del cluster.
Ecco un frammento di un file YAML di configurazione del cluster, che mostra il campo bypassPreflightCheck
impostato su true
.
# Sample cluster config to bypass preflight check errors: apiVersion: v1 kind: Namespace metadata: name: cluster-user1 --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user1 namespace: cluster-user1 spec: type: user bypassPreflightCheck: true # Anthos cluster version. anthosBareMetalVersion: 1.7.7 ....
Riattivazione dei controlli preliminari
Puoi attivare esplicitamente una nuova serie di controlli preliminari per consentire ai cluster Anthos su Bare Metal di aggiornare o creare nuovi cluster dopo la corretta verifica.
Crea un nuovo file YAML del controllo preflight con i contenuti seguenti. Compila i campi
namespace
eclusterName
con il nome del cluster che stai creando:apiVersion: baremetal.cluster.gke.io/v1 kind: PreflightCheck metadata: generateName: preflightcheck- namespace: CLUSTER_NAMESPACE spec: clusterName: CLUSTER_NAME
Usa il comando
kubectl
per eseguire il controllo preflight per il cluster:kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
Sostituisci quanto segue:
ADMIN_KUBECONFIG
: un percorso al file kubeconfig del cluster di amministrazioneCLUSTER_PREFLIGHT_CHECK_CONFIG
: percorso del file YAML del controllo preflight creato in precedenza
Ad esempio, per un cluster di amministrazione denominato
cluster1
e una configurazione di controllo preliminare di un cluster utente denominatauser1-preflight.yaml
, il comando è:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
Il sistema risponde con l'ID job del controllo preliminare:preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
Esegui una query sull'ID dello stato del job di controllo preliminare utilizzando il comando
kubectl
:kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-cluster1 get preflightchecks preflightcheck-g7hfo4
Una volta completato correttamente il job di controllo preliminare, Cluster Anthos su Bare Metal crea il cluster e le relative risorse.
Dettagli del controllo preflight dell'installazione
I cluster Anthos su Bare Metal verificano vari sistemi operativi, software e condizioni delle macchine durante l'esecuzione di controlli preflight.
Per informazioni più dettagliate, consulta la Panoramica dei prerequisiti di installazione.