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

  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. 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 amministrazione
    • USER_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 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 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.

  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. 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 amministrazione
    • CLUSTER_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 denominata user1-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
    

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