En tant qu'administrateur de plate-forme, vous pouvez configurer une stratégie de mise à niveau de nœuds pour ajuster la mise à niveau des nœuds dans vos clusters Google Kubernetes Engine (GKE). Pour en savoir plus sur les stratégies de mise à niveau des nœuds, consultez la page Stratégies de mise à niveau des nœuds.
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 Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande
gcloud components update
.
Configurer une stratégie de mise à niveau de nœuds
Lorsque vous configurez les pools de nœuds de votre cluster, vous pouvez sélectionner et configurer l'une des stratégies de mise à niveau de nœuds compatibles, à savoir surutilisation ou bleu-vert. Ces stratégies de mise à niveau vous permettent d'optimiser le processus de mise à niveau du pool de nœuds en fonction des besoins de votre environnement de cluster.
Configurer les mises à niveau de la surutilisation
Les mises à niveau de la surutilisation vous permettent de modifier le nombre de mises à niveau automatiques des nœuds GKE simultanées, ainsi que le nombre d'interruptions qu'une mise à niveau peut entraîner sur vos charges de travail.
Les options max-surge-upgrade
et max-unavailable-upgrade
sont définies pour chaque pool de nœuds. Pour plus d'informations sur le choix des paramètres appropriés, consultez la section Optimiser la configuration de votre mise à niveau de la surutilisation.
Vous pouvez modifier ces paramètres lors de la création ou de la mise à jour d'un cluster ou d'un pool de nœuds.
Les variables suivantes sont utilisées dans les commandes mentionnées ci-dessous :
CLUSTER_NAME
: nom du cluster pour le pool de nœuds.COMPUTE_ZONE
: zone du cluster.NODE_POOL_NAME
: nom du pool de nœuds.NUMBER_NODES
: nombre de nœuds du pool de nœuds dans chacune des zones du cluster.SURGE_NODES
: nombre de nœuds supplémentaires (surutilisation) à créer à chaque mise à niveau du pool de nœuds.UNAVAILABLE_NODES
: nombre de nœuds pouvant être indisponibles simultanément pour chaque mise à niveau du pool de nœuds.
Créer un cluster avec plusieurs paramètres de surutilisation
Pour créer un cluster avec des paramètres spécifiques pour les mises à niveau de la surutilisation, utilisez les options max-surge-upgrade
et max-unavailable-upgrade
.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Créer un cluster sans mise à niveau de surutilisation
Pour créer un cluster sans mises à niveau de la surutilisation, définissez la valeur de l'option max-surge-upgrade
sur 0
.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=0 --max-unavailable-upgrade=1
Créer un pool de nœuds avec des paramètres de surutilisation spécifiques
Pour créer un pool de nœuds dans un cluster existant avec des paramètres spécifiques pour les mises à niveau de la surutilisation, utilisez les options max-surge-upgrade
et max-unavailable-upgrade
.
gcloud container node-pools create NODE_POOL_NAME \ --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Modifier les paramètres de mise à niveau de la surutilisation pour un pool de nœuds existant
Pour mettre à jour les paramètres de mise à niveau d'un pool de nœuds existant, utilisez les options max-surge-upgrade
et max-unavailable-upgrade
. Si vous définissez max-surge-upgrade
sur une valeur supérieure à 0
, GKE crée des nœuds de surutilisation. Si vous définissez max-surge-upgrade
sur 0
, GKE ne crée pas de nœuds de surutilisation.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Vérifier si les mises à niveau de surutilisation sont activées dans un pool de nœuds
Pour savoir si les mises à niveau de la surutilisation sont activées sur un pool de nœuds, vous pouvez décrire les paramètres du cluster à l'aide de gcloud
:
gcloud container node-pools describe NODE_POOL_NAME \ --cluster=CLUSTER_NAME
Si les mises à niveau de la surutilisation sont activées sur le pool de nœuds, la stratégie répertoriée est SURGE
.
Configurer les mises à niveau bleu-vert
Les mises à niveau des pools de nœuds bleu-vert vous permettent de contrôler les éléments suivants :
BATCH_NODE_COUNT
ouBATCH_PERCENT
: taille des lots de nœuds que GKE draine en même temps, ce qui signifie que les pods sont supprimés des nœuds. La valeur par défaut estBATCH_NODE_COUNT=1
. Si l'un de ces paramètres est défini sur 0, GKE ignore cette phase et passe à la phase Stabilisation du pool de nœuds.BATCH_SOAK_DURATION
: temps entre chaque lot et le drainage des nœuds.NODE_POOL_SOAK_DURATION
: temps de stabilisation pour la validation de votre charge de travail sur la configuration du nouveau nœud.
Pour en savoir plus sur le fonctionnement des mises à niveau bleu-vert, consultez la page Phases des mises à niveau bleu-vert.
Les variables suivantes sont utilisées dans les commandes répertoriées dans les sections suivantes :
CLUSTER_NAME
: nom du cluster pour le pool de nœuds.NODE_POOL_NAME
: nom du pool de nœuds.NUMBER_NODES
: nombre de nœuds du pool de nœuds dans chacune des zones du cluster.BATCH_NODE_COUNT
: nombre de nœuds bleus à drainer dans un lot pendant la phase de drainage du pool bleu. La valeur par défaut est 1. Si cette valeur est définie sur 0, la phase de drainage du pool bleu est ignorée.BATCH_PERCENT
: pourcentage de nœuds bleus à drainer dans un lot pendant la phase de drainage du pool bleu, exprimé sous la forme d'un nombre décimal compris entre 0 et 1 inclus. GKE arrondit à la baisse au nœud le plus proche, à une valeur minimale de un nœud, si le pourcentage n'est pas un nombre entier de nœuds. Si cette valeur est définie sur 0, la phase de drainage du pool bleu est ignorée.BATCH_SOAK_DURATION
: délai d'attente en secondes après chaque drainage de lot. La valeur par défaut est "0".NODE_POOL_SOAK_DURATION
: délai d'attente en secondes après le drainage de tous les lots. La valeur par défaut est de 3 600 secondes.
Créer un pool de nœuds avec la stratégie de mise à niveau bleu-vert
Créer un pool de nœuds avec des paramètres par défaut de mise à niveau bleu-vert
Pour créer un pool de nœuds dans un cluster existant avec la stratégie de mise à niveau bleu-vert avec les paramètres par défaut, exécutez la commande suivante :
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Créer un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot de nombres de nœuds absolus
Pour créer un pool de nœuds avec des paramètres de mise à niveau bleu-vert personnalisés, utilisez les options de paramètre avec la commande de création de pool de nœuds.
Cette commande crée un pool de nœuds avec la configuration bleu-vert personnalisée suivante, en utilisant un nombre de nœuds absolu pour les drainages de lots :
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10 sNODE_POOL_SOAK_DURATION
= 600 s
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
Créer un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot basées sur des pourcentages
Cette commande crée un pool de nœuds avec la configuration bleu-vert personnalisée suivante, en utilisant un pourcentage pour les drainages de lot :
BATCH_PERCENTAGE
= 25 % (de la taille du pool de nœuds)BATCH_SOAK_DURATION
= 10 sNODE_POOL_SOAK_DURATION
= 1 800 s
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
Mettre à jour une stratégie de mise à niveau bleu-vert d'un pool de nœuds existant
Mettre à jour un pool de nœuds avec les paramètres par défaut de mise à niveau bleu-vert
Pour mettre à jour un pool de nœuds existant vers la stratégie de mise à niveau bleu-vert, utilisez la commande suivante :
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Mettre à jour un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot de nombres de nœuds absolus
Pour mettre à jour un pool de nœuds existant vers la stratégie de mise à niveau bleu-vert avec des paramètres personnalisés, utilisez les indicateurs de paramètre avec la commande de création de pool de nœuds.
Cette commande met à jour un pool de nœuds afin d'utiliser la configuration bleu-vert personnalisée suivante, en utilisant un nombre de nœuds absolu pour les drainages de lot :
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10 sNODE_POOL_SOAK_DURATION
= 600 s
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
Mettre à jour un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot basées sur des pourcentages
Cette commande crée un pool de nœuds avec la configuration bleu-vert personnalisée suivante, en utilisant un pourcentage pour les drainages de lot :
BATCH_PERCENTAGE
= 25 % (de la taille du pool de nœuds)BATCH_SOAK_DURATION
= 10 sNODE_POOL_SOAK_DURATION
= 1 800 s
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
Revenir aux mises à niveau de la surutilisation
Vous pouvez modifier le comportement des mises à niveau bleu-vert à l'aide de paramètres et contrôler le processus de mise à niveau à l'aide de commandes.
Toutefois, si vous préférez utiliser les mises à niveau de la surutilisation, exécutez la commande suivante pour revenir aux mises à niveau de la surutilisation :
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-surge-upgrade
Inspecter les paramètres de mise à niveau d'un pool de nœuds
Pour inspecter les paramètres actuels de mise à niveau d'un pool de nœuds, vous pouvez utiliser la commande suivante pour décrire le pool de nœuds :
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME
L'extrait suivant est un exemple de résultat de la commande. Le champ strategy
indique la stratégie de mise à niveau utilisée : SURGE indique que la stratégie de mise à niveau de la surutilisation est activée, et BLUE_GREEN indique que la stratégie de mise à niveau bleu-vert est activée.
upgradeSettings:
blueGreenSettings:
nodePoolSoakDuration: 1800s
standardRolloutPolicy:
batchNodeCount: 1
batchSoakDuration: 10s
strategy: BLUE_GREEN
Cette commande indique également la phase actuelle d'une mise à niveau bleu-vert en cours. Découvrez comment vérifier les paramètres de mise à niveau d'un pool de nœuds.
Étapes suivantes
- Apprenez-en plus sur les stratégies de mise à niveau des nœuds.
- Découvrez comment mettre à niveau manuellement vos pools de nœuds.