Mise à niveau des clusters Autopilot


Cette page explique le fonctionnement des mises à niveau automatiques sur les clusters Autopilot de Google Kubernetes Engine (GKE). En outre, elle fournit des liens vers des informations supplémentaires sur les tâches et les paramètres associés. Vous pouvez utiliser ces informations pour maintenir vos clusters à jour, stables et sécurisés, tout en minimisant les perturbations de vos charges de travail.

Fonctionnement des mises à niveau des clusters et des pools de nœuds

Cette section explique ce qu'il se passe dans votre cluster lors des mises à niveau automatiques. Google lance les mises à niveau automatiques, observe les mises à niveau automatiques sur tous les clusters GKE et intervient en cas de problème.

Un cluster est mis à niveau avant ses nœuds.

Mise à niveau des clusters

Cette section explique ce qu'il se passe lorsque Google met à niveau automatiquement votre cluster. Les clusters créés en mode Autopilot sont des clusters régionaux. Les clusters régionaux disposent de plusieurs instances dupliquées du plan de contrôle. Une seule instance dupliquée est mise à niveau à la fois, dans un ordre indéterminé. Lors de la mise à niveau, le cluster reste hautement disponible et les instances dupliquées du plan de contrôle ne sont indisponibles que pendant leur mise à niveau.

Si vous configurez un intervalle ou une exclusion de maintenance, votre choix est respecté dans la mesure du possible.

Mise à niveau des pools de nœuds

Votre cluster Autopilot et ses pools de nœuds exécutent la même version de GKE. Cette section explique ce qu'il se passe lorsque Google met à niveau automatiquement votre pool de nœuds.

Les pools de nœuds sont mis à niveau un par un. Dans un pool de nœuds, les nœuds sont mis à niveau un par un, dans un ordre indéterminé.

Ce processus peut prendre plusieurs heures en fonction du nombre de nœuds et de leurs configurations de charge de travail. Les configurations pouvant ralentir la vitesse de mise à niveau des nœuds sont les suivantes :

Si vous configurez un intervalle ou une exclusion de maintenance, votre choix est respecté dans la mesure du possible.

La mise à niveau d'un nœud entraîne les conséquences suivantes :

  1. Étant donné que les mises à niveau de la surutilisation sont activées par défaut, GKE crée un nouveau nœud de surutilisation avec la version mise à niveau et attend que celui-ci soit enregistré auprès du plan de contrôle.
  2. GKE sélectionne un nœud existant (que nous appellerons le "nœud cible") à mettre à niveau. GKE se connecte et commence à drainer le nœud cible. À ce stade, GKE ne peut pas programmer de nouveaux pods sur le nœud cible.
  3. Les pods du nœud cible sont reprogrammés sur d'autres nœuds. Si un pod ne peut pas être reprogrammé, il reste à l'état PENDING jusqu'à ce qu'il puisse l'être.
  4. Le nœud cible est supprimé.
  5. Si un nombre significatif de mises à niveau automatiques de nœuds vers une révision donnée aboutit à des nœuds non sains dans l'ensemble de la flotte GKE, les mises à niveau vers cette révision sont interrompues le temps d'examiner le problème.

Mises à niveau automatiques

Lorsque vous créez un cluster Autopilot, la mise à niveau automatique est activée par défaut sur le cluster et ses pools de nœuds. Google met à jour vos clusters lorsqu'une nouvelle révision de GKE est sélectionnée pour la mise à niveau automatique.

Pour mieux contrôler le moment où une mise à niveau automatique a lieu (ou ne doit pas avoir lieu), vous pouvez configurer des intervalles et des exclusions de maintenance.

Comme votre cluster Autopilot est automatiquement enregistré dans une version disponible, les nœuds exécutent toujours la même version de GKE que le cluster lui-même, sauf pendant une brève période entre la fin de la procédure mise à niveau du plan de contrôle et le début de la mise à niveau d'un pool de nœuds donné.

Sélection des versions pour la mise à niveau automatique

De nouvelles versions de GKE sont disponibles régulièrement, mais une version n'est pas immédiatement sélectionnée pour une mise à niveau automatique. Lorsqu'une version GKE a accumulé suffisamment de temps d'utilisation du cluster pour prouver sa stabilité, Google la sélectionne en tant que cible de mise à niveau automatique pour les clusters exécutant un sous-ensemble d'anciennes versions.

Les nouvelles cibles de mise à niveau automatique sont annoncées dans les notes de version. Il arrive qu'une version soit sélectionnée pour la mise à niveau automatique du cluster et pour celle du nœud au cours de différentes semaines.

En principe, peu de temps après la mise à disposition générale d'une nouvelle version mineure, la version mineure la plus ancienne disponible n'est plus compatible. Les clusters exécutant des versions mineures qui ne sont plus compatibles sont automatiquement mis à niveau vers la version mineure suivante.

Dans une version mineure (telle que v1.14.x), les clusters peuvent être automatiquement mis à niveau vers une nouvelle version corrective.

Configuration de la période de mise à niveau automatique

Par défaut, les mises à niveau automatiques peuvent être effectuées à tout moment. Les mises à niveau automatiques n'entraînent que très peu de perturbations, en particulier pour les clusters régionaux. Toutefois, certaines charges de travail peuvent nécessiter un contrôle plus précis. Vous pouvez configurer des intervalles et des exclusions de maintenance pour contrôler la période à laquelle les mises à niveau automatiques peuvent et ne peuvent pas avoir lieu.

Mises à niveau de la surutilisation

Les mises à niveau de la surutilisation permettent de contrôler le nombre de nœuds que GKE peut mettre à niveau en même temps ainsi que le niveau de perturbation des mises à niveau sur vos charges de travail. Les clusters Autopilot sont automatiquement configurés pour utiliser les mises à niveau de la surutilisation. Ce paramétrage ne peut pas être remplacé.

Le comportement de la mise à niveau de la surutilisation est déterminé par deux paramètres :

max-surge-upgrade
Le nombre de nœuds supplémentaires pouvant être ajoutés au pool de nœuds lors d'une mise à niveau. La valeur par défaut est 1.
max-unavailable-upgrade

Le nombre de nœuds pouvant être indisponibles simultanément lors d'une mise à niveau. La valeur par défaut est 0.

Le nombre de nœuds mis à niveau simultanément correspond à la somme de max-surge-upgrade et de max-unavailable-upgrade.

Par défaut, la mise à niveau de la surutilisation est définie sur maxSurge=1 maxUnavailable=0., ce qui signifie qu'un seul nœud de surutilisation peut être ajouté au pool de nœuds lors d'une mise à niveau. Ainsi, un seul nœud est mis à niveau à la fois.

Relation avec le quota

Contrairement à la recréation de nœuds, la mise à niveau de la surutilisation de nœuds nécessite des ressources Compute Engine supplémentaires. L'allocation des ressources est soumise à un quota Compute Engine. En fonction de votre configuration, ce quota peut limiter le nombre de mises à niveau effectuées en parallèle ou même entraîner leur échec.

Pour plus d'informations sur les quotas, consultez la page Mises à niveau et quotas de nœuds.

Recevoir des notifications de mise à niveau

GKE publie des notifications de mise à niveau sur Pub/Sub. Vous disposez ainsi d'un canal pour réceptionner les informations concernant vos clusters.

Pour en savoir plus, consultez la section Recevoir des notifications de mise à niveau des clusters.

Étape suivante