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

Cette page explique comment utiliser la console Google Cloud ou Google Cloud CLI pour mettre à niveau un cluster d'utilisateur Clusters Anthos sur VMware géré par l'API Anthos On-Prem. Avant de mettre à niveau un cluster d'utilisateur, nous vous recommandons de consulter les bonnes pratiques de mise à niveau.

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

L'API Anthos 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 outils Google Cloud standards. L'API Anthos On-Prem s'exécute dans 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, mettre à niveau et supprimer des clusters dans votre centre de données. Si vous avez créé le cluster à l'aide d'un client standard, celui-ci est enregistré dans l'API Anthos On-Prem. Vous pouvez donc utiliser les clients standards pour gérer le cycle de vie du cluster (à quelques exceptions près). Si vous avez créé le cluster avec gkectl, vous pouvez l'enregistrer dans l'API Anthos On-Prem, qui vous permet d'utiliser les clients standards.

Avant de commencer

Configurer la CLI gcloud

Pour mettre à niveau un cluster à l'aide de gcloud CLI ou Terraform:

  1. Assurez-vous de disposer de la dernière version de gcloud CLI, y compris des composants bêta de gcloud CLI.

    Si vous ne disposez pas encore des composants bêta, exécutez la commande suivante pour les installer:

    gcloud components install beta
    
  2. Si nécessaire, mettez à jour les composants de gcloud CLI:

      gcloud components update
    

Exigences IAM

Si vous n'êtes pas propriétaire du projet, vous devez disposer du rôle roles/gkeonprem.admin Identity and Access Management sur 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 mettre à niveau le cluster à l'aide de la console, 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 sur l'attribution d'un rôle avec des autorisations de lecture/écriture, consultez la section 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 sur l'attribution d'un rôle avec des autorisations de lecture/écriture, consultez la section Rôles GKE Hub dans la documentation IAM.

Forfaits supérieurs

Si vous disposez d'un cluster d'administrateur version 1.13, vous disposez des options suivantes pour mettre à niveau les clusters d'utilisateur gérés par l'API Anthos On-Prem:

  • Si votre cluster d'administrateur est version 1.13.1 ou ultérieure, vous pouvez utiliser la fonctionnalité de mise à niveau décrite dans la section suivante. Cette procédure de mise à niveau est disponible en version preview. Nous vous recommandons de ne pas utiliser cette fonctionnalité pour mettre à niveau des clusters dans un environnement de production.

  • Si votre cluster d'administrateur est version 1.13.0 ou antérieure, ou pour les environnements de production, consultez la page Mettre à niveau les clusters Anthos sur VMware.

Déployer le contrôleur de plate-forme de mise à niveau

Avant de mettre à niveau un cluster d'utilisateur à l'aide de la console ou de gcloud CLI, vous devez déployer le contrôleur de plate-forme de mise à niveau sur votre cluster d'administrateur.

  1. Si vous n'êtes pas sûr que le contrôleur a été déployé, exécutez la commande suivante sur votre poste de travail administrateur:

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_KUBECONFIG: chemin d'accès au fichier kubeconfig de votre cluster d'administrateur.

    Si le contrôleur a été déployé, la ligne suivante se trouve dans la section annotations de la sortie YAML:

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled
    

    Si cette annotation ne s'affiche pas, exécutez la commande à l'étape suivante.

  2. Exécutez la commande suivante sur votre poste de travail administrateur pour déployer le contrôleur de plate-forme de mise à niveau:

    gkectl update admin --enable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_KUBECONFIG: chemin d'accès au fichier kubeconfig de votre cluster d'administrateur.

    • ADMIN_CLUSTER_CONFIG_FILE: chemin d'accès au fichier de configuration de votre cluster d'administrateur.

    • Facultatif: l'indicateur --yes répond automatiquement à yes lorsque vous y êtes invité pour poursuivre le déploiement.

    Cette commande déploie un contrôleur sur le cluster d'administrateur qui vous permet d'utiliser les clients API Anthos On-Prem pour mettre à niveau les clusters d'utilisateur. Lors de la mise à niveau du cluster d'utilisateur, le cluster d'administrateur est enregistré avec l'API Anthos On-Prem s'il n'est pas déjà enregistré. Il est donc inutile d'exécuter des commandes sur le poste de travail administrateur pour mettre à niveau les clusters d'utilisateur. Lorsque vous lancez une mise à niveau du cluster d'utilisateur, l'API Anthos On-Prem déclenche le contrôleur pour préparer la mise à niveau. Le contrôleur télécharge et installe des bundles, puis déploie la nouvelle version des composants qui gèrent le cluster d'utilisateur.

    L'exécution de la commande prend environ 25 minutes (ou plus selon votre réseau).

Mettre à niveau un cluster d'utilisateur

Une fois le contrôleur de plate-forme de mise à niveau déployé sur le cluster d'administrateur, vous pouvez mettre à niveau un ou plusieurs clusters d'utilisateur gérés par le cluster d'administrateur.

Pour mettre à niveau un cluster d'utilisateur:

Console

  1. Dans la console, accédez à la page des clusters Anthos.

    Accéder à la page "Clusters Anthos"

  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 boîte de dialogue Activer les mises à niveau simplifiées, lisez le texte des deux cases à cocher, sélectionnez-les, puis cliquez sur Continuer.

  6. Dans la liste Choisir la version cible, sélectionnez la version vers laquelle vous souhaitez effectuer la mise à niveau. Cette liste n'inclut que les dernières versions des correctifs.

  7. 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 l'état des nœuds. Si les vérifications préliminaires réussissent, le cluster d'utilisateur est mis à niveau. La migration prend environ 30 minutes.

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

gcloud CLI

  1. Exécutez la commande suivante pour vous connecter à votre compte Google:

    gcloud auth login
    
  2. Mettez à jour les composants de la Google Cloud CLI :

    gcloud components update
    
  3. Obtenez la liste des versions disponibles pour la mise à niveau:

    gcloud beta container vmware clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • USER_CLUSTER_NAME: nom du cluster d'utilisateur.

    • FLEET_HOST_PROJECT_ID: ID du projet de parc auquel ce cluster d'utilisateur appartient. Il s'agit du projet que vous avez spécifié lors de la création du cluster. Si vous avez créé le cluster à l'aide de gkectl, il s'agit de l'ID de projet indiqué dans le champ gkeConnect.projectID du fichier de configuration du cluster.

    • REGION: région Google Cloud dans laquelle l'API Anthos On-Prem s'exécute et stocke ses métadonnées. Si vous avez créé le cluster à l'aide d'un client API Anthos On-Prem, il s'agit de la région que vous avez spécifiée lors de la création du cluster. Si vous avez créé le cluster à l'aide de gkectl, il s'agit de la région que vous avez spécifiée lors de l'enregistrement du cluster pour la gestion avec l'API Anthos On-Prem.

  4. Exécutez la commande suivante pour mettre à niveau un cluster:

    gcloud beta container vmware clusters upgrade USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Remplacez les éléments suivants :

    • USER_CLUSTER_NAME: nom du cluster d'utilisateur à mettre à niveau.

    • FLEET_HOST_PROJECT_ID: ID du projet de parc auquel ce cluster d'utilisateur appartient. Il s'agit du projet que vous avez spécifié lors de la création du cluster. Si vous avez créé le cluster à l'aide de gkectl, il s'agit de l'ID de projet indiqué dans le champ gkeConnect.projectID du fichier de configuration du cluster.

    • REGION: région Google Cloud dans laquelle l'API Anthos On-Prem s'exécute et stocke ses métadonnées. Si vous avez créé le cluster à l'aide d'un client API Anthos On-Prem, il s'agit de la région que vous avez sélectionnée lors de la création du cluster. Si vous avez créé le cluster à l'aide de gkectl, il s'agit de la région que vous avez spécifiée lors de l'enregistrement du cluster pour la gestion avec l'API Anthos On-Prem.

    • VERSION: version d'Anthos Clusters sur VMware 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.

    La migration prend environ 30 minutes.

  5. Pendant la mise à niveau du cluster, exécutez la commande suivante dans une autre fenêtre de terminal pour vérifier son état:

    gcloud beta container vmware clusters describe USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

Pour en savoir plus sur les champs et les options, consultez gcloud beta container vmware clusters upgrade.

Désactiver le contrôleur de plate-forme de mise à niveau

  1. Exécutez la commande suivante sur votre poste de travail administrateur:

    gkectl update admin --disable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    
  2. Pour vérifier que la manette a été désactivée, exécutez la commande suivante:

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    Si le contrôleur a été désactivé, la ligne suivante n'est pas dans la section annotations de la sortie YAML:

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled