Informazioni sui controlli preliminari

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 o autonomi e risorse pool di nodi con bmctl. Se i controlli non vanno a buon fine, non vengono apportate modifiche. Puoi anche ignorare questi controlli.
  • Puoi eseguire un insieme limitato di controlli preliminari prima di creare i cluster utente da un cluster di amministrazione o ibrido con il comando kubectl.
  • 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 effettivamente 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 o standalone con il comando bmctl, i cluster Anthos su Bare Metal eseguono automaticamente i controlli preliminari prima che vengano apportate modifiche.

Quando i controlli vengono superati, 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 controlli preliminari prima di creare un cluster. Questo può aiutare a risparmiare tempo assicurandoti che le risorse della tua macchina e del nodo 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

Tieni presente che non puoi creare cluster utente con bmctl. Esiste un controllo preliminare per evitarlo.

Controlli preliminari per la creazione del cluster utente

I cluster utente vengono creati da un cluster di amministrazione o di un cluster ibrido esistente e utilizzi kubectl per eseguire i controlli preliminari. Sulla base dei risultati di questi controlli, puoi determinare se ci sono errori e correggerli prima della creazione del cluster utente.

Dopo che un cluster di amministrazione o ibrido è in esecuzione e in esecuzione, puoi utilizzare kubectl per eseguire i controlli preliminari prima di creare un cluster utente.

  1. Crea un file di configurazione del cluster utente seguendo i passaggi descritti in Creare cluster utente in una configurazione multi-cluster

  2. 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 denominato cluster-user1. Ecco il comando kubectl per creare lo spazio dei nomi, dove ADMIN_KUBECONFIG specifica il percorso del file del cluster di amministrazione kubeconfig:

    kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
    

  3. 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
    

  4. 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.
    
  5. Il seguente comando kubectl esegue il controllo preliminare per il cluster utente, dove ADMIN_KUBECONFIG specifica il percorso del file kubeconfig del cluster di amministrazione e USER_CLUSTER_PREFLIGHT_CHECK_CONFIG specifica il percorso al file YAML del controllo preflight creato nel passaggio precedente:

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
    
    Ad esempio, per un cluster di amministrazione denominato cluster1 e una configurazione di controllo preliminare di un cluster utente denominata user1-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

  6. 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 non ci sono controlli, i cluster Anthos su Bare Metal non apporteranno modifiche ai 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: v1.6.2
....

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.

  1. Crea un nuovo file YAML del controllo preflight con i contenuti seguenti. Compila i campi namespace e clusterName 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
    

  2. Esegui il comando kubectl per eseguire il controllo preflight per il cluster, dove ADMIN_KUBECONFIG specifica il percorso del file kubeconfig cluster di amministrazione e CLUSTER_PREFLIGHT_CHECK_CONFIG specifica il percorso al file YAML controllo preflight creato in precedenza nel passaggio 1 dei controlli preflight per i cluster utente:

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
    
    Ad esempio, per un cluster di amministrazione denominato cluster1 e una configurazione di controllo preliminare del cluster utente denominata user1-preflight.yaml, il comando ia:
    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
    
    I sistemi rispondono con l'ID job del controllo preflight:
    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
    

  3. 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 controllano una varietà di condizioni operative del sistema operativo, del software e della macchina durante l'esecuzione di controlli preliminari.

Per informazioni più dettagliate, consulta la Panoramica dei prerequisiti di installazione.