Mettre à niveau un cluster d'administrateur ou d'utilisateur à l'aide de clients d'API GKE On-Prem

La mise à niveau de vos clusters Google Distributed Cloud vous permet de déployer les dernières fonctionnalités Kubernetes, mises à jour de sécurité et corrections de bugs. Vous pouvez mettre à niveau les clusters d'administrateur ou d'utilisateur enregistrés dans l'API GKE On-Prem à l'aide de la console Google Cloud ou de la Google Cloud CLI. Si vous avez créé votre cluster d'utilisateur avec Terraform, vous pouvez également utiliser Terraform pour le mettre à niveau.

Pour connaître les exigences de mise à niveau, les bonnes pratiques et d'autres informations sur le processus de mise à niveau, consultez les pages Bonnes pratiques de mise à niveau et Cycle de vie et étapes des mises à niveau de cluster avant de continuer.

Qu'est-ce que l'API GK On-Prem ?

L'API GKE On-Prem est une API hébergée par Google Cloud qui vous permet de gérer le cycle de vie de vos clusters sur site à l'aide de Terraform et des outilsGoogle Cloud standards. L'API GKE On-Prem s'exécute sur l'infrastructure de Google Cloud. Terraform, la console Google Cloud et Google Cloud CLI sont des clients de l'API. Ils l'utilisent pour créer, mettre à jour, migrer et supprimer des clusters dans votre centre de données. Si vous avez créé le cluster à l'aide d'un client standard, il est enregistré dans l'API GKE On-Prem. Cela signifie que vous pouvez utiliser les clients standards pour gérer le cycle de vie du cluster (à quelques exceptions près). Si vous avez créé le cluster à l'aide de bmctl, vous pouvez enregistrer le cluster dans l'API GKE On-Prem, ce qui vous permet d'utiliser les clients standards.

Avant de commencer

Configurer gcloud CLI

Pour utiliser la gcloud CLI ou Terraform afin de mettre à niveau un cluster :

  1. Assurez-vous de disposer de la dernière version de gcloud CLI. Mettez à jour les composants de gcloud CLI, si nécessaire :

    gcloud components update
    

Exigences IAM

Si vous n'êtes pas propriétaire du projet, vous devez disposer du rôle Identity and Access Management roles/gkeonprem.admin pour le projet Google Cloud dans lequel le cluster a été créé. Pour en savoir plus sur les autorisations incluses dans ce rôle, consultez la section Rôles GKE On-Prem dans la documentation IAM.

Pour utiliser la console afin de mettre à niveau le cluster, vous devez au minimum disposer des éléments suivants :

  • roles/container.viewer. Ce rôle permet aux utilisateurs d'afficher la page "Clusters GKE" et les autres ressources de conteneur dans la console. Pour en savoir plus sur les autorisations incluses dans ce rôle ou pour accorder un rôle avec des autorisations de lecture/écriture, consultez la page Rôles Kubernetes Engine dans la documentation IAM.

  • roles/gkehub.viewer. Ce rôle permet aux utilisateurs d'afficher les clusters dans la console. Pour en savoir plus sur les autorisations incluses dans ce rôle ou pour accorder un rôle avec des autorisations de lecture/écriture, consultez la page Rôles GKE Hub dans la documentation IAM.

Exigences concernant les versions

La version est disponible dans l'API GKE On-Prem environ 7 à 14 jours après la publication de Google Distributed Cloud.

Vous pouvez passer directement à n'importe quelle version de la même version mineure ou de la version mineure suivante. Par exemple, vous pouvez passer de la version 1.36.100 à la version 1.36.200, ou de la version 1.35.100 à la version 1.36.200. Il n'est pas possible de passer à une version ultérieure à la version installée de plus d'une version mineure.

Un cluster d'administrateur peut gérer des clusters d'utilisateur qui correspondent à la même version mineure, ou à une version mineure précédente. La version d'un cluster d'utilisateur géré ne peut pas être inférieure de plus d'une version mineure à celle du cluster d'administrateur. Avant de mettre à jour un cluster d'administrateur vers une nouvelle version mineure, assurez-vous donc que tous les clusters d'utilisateur gérés correspondent à la même version mineure que le cluster d'administrateur.

Mettre à niveau un cluster d'administrateur

Console

  1. Dans la console, accédez à la page Vue d'ensemble des clusters Google Kubernetes Engine.

    Accéder aux clusters GKE

  2. Sélectionnez le projet Google Cloud , puis le cluster que vous souhaitez mettre à niveau.

  3. Dans le panneau Détails, cliquez sur Plus de détails.

  4. Dans la section Paramètres de base du cluster, cliquez sur  Mettre à niveau.

  5. Dans la liste Choisir la version cible, sélectionnez la version vers laquelle vous souhaitez effectuer la mise à niveau. Nous vous recommandons de passer à la dernière version du correctif.

  6. Cliquez sur Mettre à jour.

Avant la mise à niveau du cluster, des vérifications préliminaires sont exécutées pour valider l'état du cluster et celui du nœud. Si les vérifications préliminaires sont réussies, le cluster d'administrateur est mis à niveau. La mise à niveau prend au moins 30 minutes, selon la taille de votre cluster.

Pour afficher l'état de la mise à niveau, cliquez sur Afficher les détails dans l'onglet Détails du cluster.

CLI gcloud

  1. Vous pouvez également lister tous les clusters d'administrateur enregistrés dans le projet pour confirmer le nom et la région du cluster :

    gcloud container bare-metal admin-clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Remplacez PROJECT_ID par l'ID du projet hôte du parc dont le cluster est membre. Si vous avez créé le cluster à l'aide de bmctl, il s'agit de l'ID de projet indiqué dans le champ gkeConnect.projectID du fichier de configuration du cluster.

    • Lorsque vous définissez --location=-, cela signifie que vous souhaitez lister tous les clusters de toutes les régions. Si vous devez limiter la liste, définissez --location sur une région spécifique.

    Si une erreur PERMISSION_DENIED s'affiche, vérifiez l'ID de projet que vous avez saisi. Si l'ID du projet est correct, exécutez gcloud auth login pour vous connecter à Google Cloud CLI avec le compte ayant accès au projet.

  2. Obtenez la liste des versions disponibles pour la mise à niveau :

    gcloud container bare-metal admin-clusters query-version-config \
      --admin-cluster=ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_NAME : nom du cluster d'administrateur.

    • PROJECT_ID : ID du projet hôte de parc dans lequel le cluster est membre.

    • REGION : région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster.

  3. Mettre à niveau le cluster d'administrateur

    gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Remplacez VERSION par la version de Google Distributed Cloud vers laquelle vous souhaitez effectuer la mise à niveau. Spécifiez une version à partir du résultat de la commande précédente. Nous vous recommandons de passer à la dernière version du correctif.

    La sortie de la commande ressemble à ceci :

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    Dans l'exemple de résultat, la chaîne operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 est le OPERATION_ID de l'opération de longue durée.

    Pour connaître l'état de l'opération, copiez l'élément OPERATION_ID de votre résultat dans la commande suivante. Ouvrez une autre fenêtre de terminal et exécutez la commande.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

La mise à niveau prend au moins 30 minutes, selon la taille de votre cluster. Pendant la mise à niveau du cluster, vous pouvez exécuter la commande précédente de temps en temps pour obtenir l'état actuel.

Une fois la mise à niveau terminée, un résultat semblable à celui-ci s'affiche dans la fenêtre de terminal où vous avez exécuté la commande gcloud ... update :

Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster].
NAME               LOCATION     VERSION     MEMBERSHIP         STATE
abm-admin-cluster  us-central1  1.36.200-gke.118      abm-admin-cluster  RUNNING

Pour en savoir plus sur les champs et les options, consultez la documentation de référence sur les clusters d'administrateur bare metal pour les conteneurs gcloud.

Mettre à niveau un cluster d'utilisateur

Console

  1. Dans la console, accédez à la page Vue d'ensemble des clusters Google Kubernetes Engine.

    Accéder aux clusters GKE

  2. Sélectionnez le projet Google Cloud , puis le cluster que vous souhaitez mettre à niveau.

  3. Dans le panneau Détails, cliquez sur Plus de détails.

  4. Dans la section Paramètres de base du cluster, cliquez sur  Mettre à niveau.

  5. Dans la liste Choisir la version cible, sélectionnez la version vers laquelle vous souhaitez effectuer la mise à niveau.

  6. Cliquez sur Mettre à jour.

Avant la mise à niveau du cluster, des vérifications préliminaires sont exécutées pour valider l'état du cluster et celui du nœud. Si les vérifications préliminaires sont réussies, le cluster d'utilisateur est mis à niveau. La mise à niveau prend au moins 30 minutes, selon la taille de votre cluster.

Pour afficher l'état de la mise à niveau, cliquez sur Afficher les détails dans l'onglet Détails du cluster.

CLI gcloud

  1. Vous pouvez également lister tous les clusters d'utilisateur enregistrés dans le projet pour confirmer le nom et la région du cluster :

    gcloud container bare-metal clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Remplacez PROJECT_ID par l'ID du projet hôte du parc dont le cluster est membre. Si vous avez créé le cluster à l'aide de bmctl, il s'agit de l'ID de projet indiqué dans le champ gkeConnect.projectID du fichier de configuration du cluster.

    • Lorsque vous définissez --location=-, cela signifie que vous souhaitez lister tous les clusters de toutes les régions. Si vous devez limiter la liste, définissez --location sur une région spécifique.

    La sortie de la commande ressemble à ceci :

    NAME              LOCATION     VERSION  ADMIN_CLUSTER      STATE
    abm-user-cluster  us-central1  1.36.200-gke.118   abm-admin-cluster  RUNNING
    

    Si une erreur PERMISSION_DENIED s'affiche, vérifiez l'ID de projet que vous avez saisi. Si l'ID du projet est correct, exécutez gcloud auth login pour vous connecter à Google Cloud CLI avec le compte ayant accès au projet.

  2. Obtenez la liste des versions disponibles pour la mise à niveau :

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • USER_CLUSTER_NAME: nom du cluster d'utilisateur à migrer.

    • PROJECT_ID : ID du projet hôte de parc dans lequel le cluster est membre.

    • REGION : région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster.

    La sortie de la commande ressemble à ceci :

    versions:
    - hasDependencies: true
    version: 1.15.2
    - hasDependencies: true
    version: 1.15.1
    - hasDependencies: true
    version: 1.15.0
    - version: 1.14.6
    

    Choisissez une version qui n'est pas listée sous - hasDependencies: true. Dans cet exemple, la seule version disponible vers laquelle vous pouvez mettre à niveau le cluster d'utilisateur est 1.14.6.

  3. Mettez à niveau le cluster d'utilisateur :

    gcloud container bare-metal clusters update USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Remplacez VERSION par la version de Google Distributed Cloud vers laquelle vous souhaitez effectuer la mise à niveau. Spécifiez une version à partir du résultat de la commande précédente. Nous vous recommandons de passer à la dernière version du correctif.

    La sortie de la commande ressemble à ceci :

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    Dans l'exemple de résultat, la chaîne operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 est le OPERATION_ID de l'opération de longue durée.

    Pour connaître l'état de l'opération, copiez l'élément OPERATION_ID de votre résultat dans la commande suivante. Ouvrez une autre fenêtre de terminal et exécutez la commande.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

La mise à niveau prend au moins 30 minutes, selon la taille de votre cluster. Pendant la mise à niveau du cluster, vous pouvez exécuter la commande précédente de temps en temps pour obtenir l'état actuel.

Pour en savoir plus sur les champs et les options, consultez la documentation de référence sur les clusters bare metal de conteneur gcloud.

Terraform

Pour mettre à niveau un cluster à l'aide de Terraform, vous utilisez la même configuration Terraform que celle que vous avez utilisée pour créer le cluster.

  1. Accédez au répertoire dans lequel se trouve le fichier de configuration Terraform.

  2. Obtenez la liste des versions disponibles pour la mise à niveau :

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • USER_CLUSTER_NAME: nom du cluster d'utilisateur à migrer.

    • PROJECT_ID : ID du projet hôte de parc dans lequel ce cluster d'utilisateur est membre.

    • REGION : région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke ses métadonnées.

    Si une erreur PERMISSION_DENIED s'affiche, vérifiez l'ID de projet que vous avez saisi. Si l'ID du projet est correct, exécutez gcloud auth login pour vous connecter à Google Cloud CLI avec le compte ayant accès au projet.

  3. Dans votre configuration Terraform, remplacez bare_metal_version par la version de Google Distributed Cloud vers laquelle vous souhaitez effectuer la mise à niveau. Spécifiez une version à partir du résultat de la commande précédente. Nous vous recommandons de passer à la version de correctif la plus récente.

  4. Initialisez et créez le plan Terraform :

    terraform init
    

    Terraform installe les bibliothèques nécessaires, telles que le fournisseur Google Cloud.

  5. Examinez la configuration et apportez les modifications nécessaires :

    terraform plan
    
  6. Appliquez le plan Terraform pour créer le cluster d'utilisateur :

    terraform apply
    

Pour en savoir plus sur la ressource google_gkeonprem_bare_metal_cluster, consultez la documentation de référence.