Mettre à niveau la version de votre cluster AWS

Cette page explique comment mettre à niveau la version Kubernetes de vos clusters GKE sur AWS.

Prérequis

La mise à niveau de la version Kubernetes de votre cluster constitue un cas spécifique de l'opération de mise à jour de cluster plus générale. Vous pouvez en savoir plus sur les opérations de mise à jour des clusters en général sur la page Mettre à jour votre cluster. Pour mettre à jour la version de votre cluster, procédez comme suit :

  • Vous devez passer par toutes les versions mineures entre la version actuelle et la version cible. Par exemple, pour passer de la version 1.20 à la version 1.22, vous devez d'abord passer de la version 1.20 à la version 1.21, puis de la version 1.21 à la version 1.22.
  • Vous devez disposer de l'autorisation Identity and Access Management (IAM) gkemulticloud.googleapis.com/awsClusters.update.

Comment GKE sur AWS effectue les mises à jour

Comme la mise à niveau d'un cluster nécessite le redémarrage des nœuds du plan de contrôle, GKE sur AWS effectue une mise à jour progressive en procédant comme suit:

  1. Choisit une instance de plan de contrôle à mettre à jour. GKE sur AWS met à jour les instances non opérationnelles, le cas échéant, avant celles qui sont opérationnelles.
  2. Crée un modèle de lancement pour l'instance.
  3. Met à jour le modèle de lancement du groupe Auto Scaling.
  4. Supprimez l'instance. AWS recrée l'instance et l'instance démarre avec la nouvelle configuration.
  5. Effectue des vérifications d'état sur la nouvelle instance.
  6. Si les vérifications d'état réussissent, sélectionne une autre instance et effectue les mêmes étapes. Répète ce cycle jusqu'à ce que toutes les instances soient redémarrées ou recréées. Si la vérification de l'état échoue, GKE sur AWS place le cluster à l'état DEGRADED et arrête la mise à jour. Pour en savoir plus, consultez la section suivante.
  7. Supprime le modèle de lancement d'origine.

En cas d'échec d'une mise à jour

Après une mise à jour, GKE sur AWS effectue une vérification de l'état sur le cluster. Si la vérification de l'état échoue, le cluster est marqué comme DEGRADED. Vous pouvez afficher l'état de votre cluster à l'aide de la commande Google Cloud CLI suivante :

gcloud container aws clusters describe CLUSTER_NAME \
  --location=GOOGLE_CLOUD_LOCATION

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster
  • GOOGLE_CLOUD_LOCATION: région Google Cloud qui gère votre cluster

Procéder à la mise à niveau

Vérifier la version du cluster

Avant de mettre à jour la version de votre cluster, exécutez la commande suivante pour vérifier les versions disponibles dans votre région :

gcloud container aws get-server-config \
    --location=GOOGLE_CLOUD_LOCATION

Remplacez GOOGLE_CLOUD_LOCATION par l' Google Cloudemplacement à partir duquel vous gérez vos clusters.

Choisir une méthode de mise à niveau

Vous pouvez mettre à niveau la version de votre cluster via la console Google Cloud , la Google Cloud CLI ou l'API GKE multicloud. Si vous souhaitez utiliser la console pour mettre à jour un cluster, vous devez d'abord choisir et configurer une méthode d'authentification pour vous connecter au cluster. Pour en savoir plus, consultez la section Se connecter au cluster et s'authentifier.

Console

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

    Accéder aux clusters GKE

  2. Sélectionnez le Google Cloud projet dans lequel se trouve le cluster.

  3. Dans la liste des clusters, sélectionnez le nom du cluster, puis cliquez sur Afficher les détails dans le panneau latéral.

  4. Dans l'onglet Détails, sélectionnez Mettre à niveau.

  5. Dans la boîte de dialogue Mettre à niveau la version de Kubernetes pour le cluster, sélectionnez la version vers laquelle vous souhaitez effectuer la mise à niveau, puis cliquez sur Terminé. Notez que vous devez passer par toutes les versions mineures lors de la mise à niveau de votre cluster.

gcloud

Pour mettre à jour la version Kubernetes de votre cluster, exécutez la commande suivante :

gcloud container aws clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --cluster-version=CLUSTER_VERSION

Remplacez les éléments suivants :

API

Pour mettre à jour votre cluster via l'API, utilisez une opération PATCH sur l'API GKE multicloud.

  1. Créez un fichier JSON nommé cluster_update.json avec le contenu suivant :

    {
        "controlPlane": {
           "version": "CLUSTER_VERSION",
        },
    }
    

    Remplacez les éléments suivants :

    • CLUSTER_VERSION : la nouvelle version de cluster compatible. Notez que vous devez passer par toutes les versions mineures lors de la mise à niveau de votre cluster.
  2. Mettez à jour ces paramètres via l'API GKE multicloud avec la commande suivante :

    curl -d @cluster_update.json -X PATCH \
       ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_ID?update_mask=controlPlane.Version
    

Remplacez les éléments suivants :

Pour en savoir plus, consultez la documentation sur la méthode projects.locations.awsClusters.patch.

Mettre à niveau vos pools de nœuds

Une fois votre version de cluster mise à niveau, mettez à niveau vos pools de nœuds pour terminer le processus. Pour en savoir plus, consultez la section Mettre à jour un pool de nœuds.

Étapes suivantes