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:
- 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.
- Crée un modèle de lancement pour l'instance.
- Met à jour le modèle de lancement du groupe Auto Scaling.
- Supprimez l'instance. AWS recrée l'instance et l'instance démarre avec la nouvelle configuration.
- Effectue des vérifications d'état sur la nouvelle instance.
- 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. - 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 clusterGOOGLE_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
Dans la console Google Cloud , accédez à la page Vue d'ensemble des clusters Google Kubernetes Engine.
Sélectionnez le Google Cloud projet dans lequel se trouve le cluster.
Dans la liste des clusters, sélectionnez le nom du cluster, puis cliquez sur Afficher les détails dans le panneau latéral.
Dans l'onglet Détails, sélectionnez
Mettre à niveau.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 :
CLUSTER_NAME
: nom de votre cluster.GOOGLE_CLOUD_LOCATION
: région Google Cloud compatible qui gère votre cluster (par exemple,us-west1
)CLUSTER_VERSION
: nouvelle version de cluster compatible
API
Pour mettre à jour votre cluster via l'API, utilisez une opération PATCH
sur l'API GKE multicloud.
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.
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 :
ENDPOINT
: votre point de terminaison de service Google CloudPROJECT_ID
: votre Google Cloud projetGOOGLE_CLOUD_LOCATION
: région Google Cloud compatible qui gère votre cluster (par exemple,us-west1
)CLUSTER_ID
: ID de votre cluster
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
Découvrez comment effectuer d'autres mises à jour de clusters.
Pour plus d'informations sur les champs pouvant être mis à jour, consultez la documentation de référence sur
gcloud container aws clusters update
.Consultez la documentation sur l'API REST
projects.locations.awsClusters.patch
.