Comprendre les vérifications préliminaires

Avec les clusters Anthos sur Bare Metal, vous pouvez effectuer des vérifications préliminaires dans différentes situations :

  • Les clusters Anthos sur Bare Metal effectuent des vérifications préliminaires lorsque vous créez ou mettez à jour des clusters d'administrateur, hybrides, autonomes ou d'utilisateur, ainsi que des ressources de pool de nœuds avec bmctl. En cas d'échec des vérifications, aucune modification n'est effectuée. Vous pouvez également contourner ces vérifications.
  • Les clusters Anthos sur Bare Metal exécutent également des vérifications internes préliminaires lorsque vous appliquez des ressources Kubernetes aux clusters d'utilisateur à partir d'un cluster d'administrateur ou hybride. Les vérifications sont exécutées avant que les modifications ne soient appliquées aux clusters d'utilisateur concernés. En cas d'échec des vérifications, aucune modification n'est effectuée. Vous pouvez également contourner ces vérifications ou les exécuter explicitement.

Vérifications préliminaires lors de la création de clusters à l'aide de bmctl

Lorsque vous créez des clusters d'administrateur, hybrides, autonomes ou d'utilisateur avec la commande bmctl, les clusters Anthos sur Bare Metal exécutent automatiquement des vérifications préliminaires avant toute modification.

Une fois les vérifications terminées, Anthos Clusters on Bare Metal crée les clusters.

Ignorer les résultats des vérifications préliminaires automatiques

Si vous souhaitez contourner ces vérifications préliminaires automatiques, vous pouvez utiliser l'option facultative --force dans la commande.

Exécuter des vérifications préliminaires indépendantes

Vous pouvez également effectuer des vérifications préliminaires avant de créer un cluster, afin de vous assurer que les ressources de votre machine et de votre nœud réussissent bien les vérifications.

  • La commande suivante valide le fichier de configuration de cluster spécifié, mais n'essaie pas de créer le cluster lui-même :

    bmctl check config --cluster CLUSTER_NAME

  • Cette commande vérifie si les machines et le réseau sont prêts à créer le cluster :

    bmctl check preflight --cluster CLUSTER_NAME

Seules les versions 1.7.0 et ultérieures de Anthos Clusters on Bare Metal sont compatibles avec la création de clusters d'utilisateur à l'aide de bmctl.

Vérifications préliminaires pour la création d'un cluster d'utilisateur

Les clusters d'utilisateur sont créés à partir d'un cluster d'administrateur ou hybride existant. Les clusters Anthos sur Bare Metal exécutent automatiquement des vérifications préliminaires avant toute modification. Vous pouvez également effectuer des vérifications préliminaires avec kubectl avant de créer un cluster.

  1. Créez un fichier de configuration de cluster d'utilisateur en suivant la procédure décrite dans la page Créer des clusters d'utilisateur dans une configuration multicluster.

  2. Créez un espace de noms pour le nouveau cluster d'utilisateur. Par exemple, pour créer un cluster d'utilisateur nommé user1, vous pouvez créer un espace de noms nommé cluster-user1. Voici la commande kubectl permettant de créer l'espace de noms, où ADMIN_KUBECONFIG spécifie le chemin d'accès au fichier kubeconfig du cluster d'administrateur :

    kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
    

  3. Importez votre fichier de clé privée SSH dans le nouvel espace de noms en tant que secret pour définir vos identifiants. Voici un exemple de commande, où ADMIN_KUBECONFIG spécifie le chemin d'accès au fichier kubeconfig du cluster administrateur et SSH_PRIVATE_KEY_FILE_PATH spécifie le chemin d'accès au fichier de clé privée SSH :

    kubectl --kubeconfig ADMIN_KUBECONFIG create secret generic ssh-key -n cluster-user1 --from-file=id_rsa=SSH_PRIVATE_KEY_FILE_PATH
    

  4. Créez un fichier YAML de vérification préliminaire avec la structure suivante : Dans le champ configYAML, saisissez le contenu textuel du fichier de configuration de cluster d'utilisateur que vous avez créé à l'étape 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. Exécutez la commande kubectl pour lancer la vérification préliminaire du cluster d'utilisateur :

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
    

    Remplacez les éléments suivants :

    • ADMIN_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur
    • USER_CLUSTER_PREFLIGHT_CHECK_CONFIG : chemin d'accès au fichier YAML de vérification préliminaire que vous avez créé à l'étape précédente

    Par exemple, pour un cluster d'administrateur nommé cluster1 et une configuration de vérification préliminaire de cluster d'utilisateur nommée user1-preflight.yaml, la commande est la suivante :

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
    

    Le système renvoie le message suivant, avec l'ID de la tâche de vérification préliminaire :

    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
  6. Pour obtenir l'état de la tâche de vérification préliminaire, utilisez la commande kubectl :

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-user1 get preflightchecks preflightcheck-g7hfo4
    

En cas d'échec de la tâche de vérification préliminaire, vérifiez son état, puis consultez les journaux de tâches détaillés pour identifier la vérification en question. Corrigez les problèmes mentionnés dans les tâches en conséquence, puis exécutez de nouveau les vérifications.

Vérifications préliminaires internes sur les clusters existants

Les clusters Anthos sur Bare Metal effectuent également des vérifications préliminaires internes lorsque vous appliquez des ressources Kubernetes à un cluster d'administrateur ou hybride existant. Si l'une de ces vérifications échoue, Anthos Clusters on Bare Metal ne modifie pas les nœuds associés, sauf si vous avez choisi d'ignorer les vérifications.

Contourner les vérifications préliminaires lors de l'application de ressources Kubernetes

Pour ignorer les vérifications préliminaires internes lors de l'application de ressources à des clusters existants, vous devez définir le champ BypassPreflightCheck sur true dans le fichier YAML du cluster.

Voici un fragment d'un fichier de configuration YAML du cluster, avec le champ bypassPreflightCheck défini sur 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
....

Réactiver les vérifications préliminaires

Vous pouvez déclencher explicitement une nouvelle série de vérifications préliminaires afin que les clusters Anthos sur Bare Metal puissent mettre à jour ou créer des clusters une fois la vérification préliminaire réussie.

  1. Créez un fichier YAML de vérification préliminaire avec le contenu suivant : Renseignez les champs namespace et clusterName avec le nom du cluster que vous créez :

    apiVersion: baremetal.cluster.gke.io/v1
    kind: PreflightCheck
    metadata:
    generateName: preflightcheck-
    namespace: CLUSTER_NAMESPACE
    spec:
    clusterName: CLUSTER_NAME
    

  2. Utilisez la commande kubectl pour lancer la vérification préliminaire du cluster :

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
    

    Remplacez les éléments suivants :

    • ADMIN_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur
    • CLUSTER_PREFLIGHT_CHECK_CONFIG : chemin d'accès au fichier YAML de vérification préliminaire que vous avez créé précédemment

    Par exemple, pour un cluster d'administrateur nommé cluster1 et une configuration de vérification préliminaire de cluster d'utilisateur nommée user1-preflight.yaml, la commande est la suivante:

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
    
    Le système répond avec l'ID de la tâche de vérification préliminaire :
    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
    

  3. Pour obtenir l'état de l'ID de la tâche de vérification préliminaire, utilisez la commande kubectl :

    kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-cluster1 get preflightchecks preflightcheck-g7hfo4
    

Une fois la tâche de vérification préliminaire terminée, les clusters Anthos sur Bare Metal créent le cluster et ses ressources.

Détails des vérifications préliminaires lors de l'installation

Anthos Clusters on Bare Metal vérifie divers paramètres de système d'exploitation, de logiciels et de machines lors des vérifications préliminaires.

Pour en savoir plus, consultez la page Présentation des conditions préalables à l'installation.