Contrôler la fréquence des perturbations causées par les mises à niveau automatiques

Ce document présente le concept de budgets d'interruption de cluster et explique comment vous pouvez éventuellement les personnaliser pour répondre aux besoins de votre environnement. Les budgets d'interruption de cluster sont un outil d'une suite de fonctionnalités qui permettent à un administrateur de plate-forme de réduire les interruptions des charges de travail tout en améliorant leurs performances, leur fiabilité et leur sécurité.

Les mises à niveau de cluster, qui ont lieu lorsque GKE met à jour la version utilisée par le plan de contrôle et les nœuds de votre cluster, peuvent être une source majeure d'interruption pour un cluster GKE. Pour en savoir plus sur les mises à niveau, consultez À propos des mises à niveau de cluster GKE. Pour en savoir plus sur toutes les autres fonctionnalités permettant de réduire les interruptions lors des mises à niveau de cluster, consultez la section Contrôler les mises à niveau de clusterde ce document. Pour obtenir des informations plus générales sur les modifications du cycle de vie des clusters au-delà des mises à niveau de cluster, consultez Gérer les modifications du cycle de vie des clusters pour minimiser les interruptions.

Qu'est-ce qu'un budget d'interruption de cluster ?

Pour éviter que votre cluster ne soit interrompu trop fréquemment par des mises à niveau automatiques, GKE applique par défaut un budget d'interruption de cluster afin de définir un intervalle minimal entre les mises à niveau automatiques du plan de contrôle du cluster. GKE applique également ce budget entre la création du cluster et la première mise à niveau automatique du plan de contrôle. De plus, si vous mettez à niveau manuellement le plan de contrôle du cluster, GKE respecte le budget d'interruption de cluster lors de la prochaine mise à niveau automatique. Vous pouvez toujours mettre à niveau manuellement le cluster, même si cette mise à niveau enfreint le budget d'interruption de cluster.

Dans un cluster, GKE met automatiquement à niveau le plan de contrôle avant les nœuds. Par conséquent, ce budget définit également la cadence minimale des mises à niveau automatiques des nœuds de cluster.

GKE dispose de budgets d'interruption de cluster par défaut pour différents types de mises à niveau de version :

  • Mises à niveau de versions de correctif : 24 heures
  • Mises à niveau de versions mineures : 30 jours

GKE applique le budget entre les mêmes types de mises à niveau. Par exemple, GKE attend 24 heures entre la mise à niveau d'un cluster entre les versions de correctif 1.35.0-gke.1403000 et 1.35.0-gke.1624000, et 30 jours entre 1.34 et 1.35. Toutefois, GKE attend 24 heures après une mise à niveau mineure avant d'effectuer une mise à niveau de correctif.

GKE n'utilise un budget d'interruption de cluster que pour les mises à niveau de cluster, et non pour d'autres types de modifications apportées à un cluster GKE cluster.

Le budget d'interruption de cluster est distinct des intervalles et des exclusions de maintenance, mais il peut être associé à ces derniers. maintenance windows and exclusions. Les règles de maintenance contrôlent quand la maintenance du cluster GKE peut et ne peut pas avoir lieu, tandis que le budget d'interruption de cluster définit un intervalle de temps spécifique entre les mises à niveau de cluster.

Quand personnaliser le budget d'interruption de votre cluster ?

Les budgets d'interruption de cluster par défaut de GKE reflètent un équilibre entre la rapidité des mises à niveau, tout en évitant les mises à niveau consécutives et en optimisant la stabilité. Toutefois, ces valeurs générales peuvent ne pas être idéales pour votre environnement de cluster.

Si vous souhaitez contrôler cette durée minimale entre les mises à niveau automatiques de cluster, vous pouvez configurer le budget d'interruption de cluster. Prenons, par exemple, les scénarios suivants :

  • Vous disposez d'un processus personnalisé pour évaluer une version de correctif du plan de contrôle GKE avant de la déployer en production, et ce processus prend un certain temps supérieur au budget de cluster par défaut.
  • Vous disposez de grands clusters qui mettent plus de temps à mettre à niveau tous les pools de nœuds. Vous souhaitez maintenir une cohérence relative des versions entre ces pools de nœuds. Vous réduisez donc la fréquence des mises à niveau de correctif, en effectuant une mise à niveau mensuelle, tout en autorisant des intervalles de maintenance fréquents pour vous assurer que les mises à niveau des pools de nœuds se terminent en temps voulu.

Définir le budget d'interruption de cluster pour les mises à niveau automatiques

Si vous avez besoin de contrôler l'intervalle entre deux mises à niveau mineures ou deux mises à niveau de correctif, vous pouvez définir vos propres budgets d'interruption de cluster. Toutefois, nous vous recommandons de commencer par configurer un intervalle de maintenance pour définir une heure récurrente pour la maintenance du cluster GKE. Vous pouvez ensuite personnaliser l'intervalle entre les mises à niveau avec le budget d'interruption de cluster.

Nous vous recommandons d'utiliser le budget d'interruption de cluster avec les autres outils disponibles que GKE propose pour contrôler les mises à niveau de cluster. Ces paramètres, qui fonctionnent avec tous les autres outils de mise à niveau, n'affectent que le moment où GKE met automatiquement à niveau un cluster vers une nouvelle version. GKE respecte toujours les intervalles et les exclusions de maintenance, suit l'ordre d'une séquence de déploiement et applique toutes les autres pratiques standards généralement utilisées pour les mises à niveau automatiques.

Le budget d'interruption de cluster par défaut est de 24 heures pour les mises à niveau de correctif et de 30 jours pour les mises à niveau mineures. Vous pouvez configurer les intervalles pour n'importe quelle durée comprise entre 0 et 90 jours. Toutefois, vous devez tenir compte des points suivants lorsque vous mettez à jour ces valeurs :

  • Nous vous recommandons de ne pas définir l'intervalle des mises à niveau de correctif sur plus de 30 jours, sauf si vous disposez d'un processus de qualification de version spécifique qui prend plus de temps. Vous risquez de manquer des correctifs critiques si vous effectuez des mises à niveau moins fréquemment que tous les 30 jours.
  • Nous vous recommandons d'autoriser les mises à niveau mineures aussi souvent que possible pour votre environnement de cluster. Si vous définissez l'intervalle des mises à niveau mineures sur le maximum de 90 jours, vous augmentez le risque que GKE doive mettre à niveau votre cluster à partir de la version mineure lorsqu'elle arrive en fin de vie. GKE respecte un budget d'interruption de cluster distinct pour les mises à niveau mineures de 7 jours lorsqu'une version mineure arrive en fin de vie, et ne respecte aucun budget d'interruption de cluster que vous avez configuré. Pour en savoir plus, consultez Mises à niveau automatiques à la fin de la période de prise en charge.
  • Nous vous recommandons de définir l'intervalle des mises à niveau de correctif sur une période plus courte que l'intervalle des mises à niveau mineures.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser la Google Cloud CLI pour cette tâche, installez et initialisez la gcloud CLI. Si vous avez déjà installé la gcloud CLI, obtenez la dernière version en exécutant la commande gcloud components update. Il est possible que les versions antérieures de la gcloud CLI ne permettent pas d'exécuter les commandes de ce document.

Configurer le budget d'interruption de cluster

Tout d'abord, si vous ne l'avez pas déjà fait, nous vous recommandons de configurer un intervalle de maintenance.

Ensuite, pour définir un budget d'interruption de cluster personnalisé, utilisez les options suivantes lorsque vous créez ou mettez à jour un cluster à l'aide de la gcloud CLI :

  • Mises à niveau mineures: --maintenance-minor-version-disruption-interval=MINOR_INTERVAL
  • Mises à niveau de correctif: --maintenance-patch-version-disruption-interval=PATCH_INTERVAL

Pour ces options, remplacez MINOR_INTERVAL ou PATCH_INTERVAL, respectivement, par une durée exprimée en secondes comprise entre 0 jour (0s) et 90 jours (7776000s).

Vous pouvez utiliser ces options dans les situations suivantes :

Vous pouvez utiliser les options en même temps ou indépendamment.

Rétablir les valeurs par défaut du budget d'interruption de cluster

Pour rétablir les valeurs par défaut du budget d'interruption de cluster (24 heures pour les mises à niveau de correctif et 30 jours pour les mises à niveau mineures), vous pouvez utiliser les options suivantes :

  • Mises à niveau mineures : --clear-maintenance-minor-version-disruption-interval
  • Mises à niveau de correctif : --clear-maintenance-patch-version-disruption-interval

Utilisez ces options lorsque vous mettez à jour un cluster avec la gcloud container cluster update commande.

Vous pouvez utiliser les options en même temps ou indépendamment.