Tutoriel : Redémarrer un worker node

Dans certains cas d’usage, vous pouvez avoir besoin de redémarrer manuellement un ou plusieurs worker nodes (nœuds de travail) sans pour autant les supprimer ou les recréer. Par exemple, vous pouvez redémarrer vos worker nodes avant une maintenance IaaS planifiée afin de les migrer vers un autre hyperviseur.

Pour arrêter et démarrer un ou plusieurs worker nodes, vous devez annoter les nœuds concernés avec l’annotation nplc.oks.outscale.com/mark-for-stop-start.

Pour garantir le bon fonctionnement de vos clusters, nous vous recommandons de redémarrer vos worker nodes un par un. Assurez-vous également que les charges de travail de vos clusters s’exécutent correctement avant de redémarrer le nœud suivant.

Lister vos worker nodes

Avant de commencer:

Pour lister les worker nodes d’un cluster, utilisez la commande suivante :

Exemple de requête
$ kubectl get nodes -L nplc.oks.outscale.com/instance-id
Exemple de résultat
NAME              STATUS   ROLES    AGE     VERSION   INSTANCE-ID
ip-12-34-56-789   Ready    <none>   10m     v1.35.1   i-12345678
ip-23-45-67-8     Ready    <none>   10m     v1.35.1   i-23456789
ip-34-56-78-91    Ready    <none>   10m     v1.35.1   i-34567890
ip-56-78-90-12    Ready    <none>   10m     v1.35.1   i-45678901

Cette commande renvoie des informations à propos de vos worker nodes, comme leur nom et instance-id qui correspond à l’ID de la VM.

Annoter un worker node

Annotations disponibles

Lorsque vous annotez un nœud pour le redémarrer, vous pouvez spécifier différentes tâches dans votre annotation afin de personnaliser le processus de redémarrage. Les tâches et annotations suivantes sont disponibles :

  • (optionnel) drain : Draine le worker node.

  • (optionnel) update : Met à jour la configuration interne du worker node.

  • force : Arrête et redémarre le nœud. Cette tâche est activée par défaut pour les tâches drain et update.

Pour indiquer la ou les tâches à exécuter, spécifiez-les dans votre annotation sous forme de liste séparée par des virgules :

Exemple de requête
# draine et arrête le nœud, met à jour sa configuration, et le redémarre
nplc.oks.outscale.com/mark-for-stop-start: drain,update

# draine, arrête et redémarre le nœud
nplc.oks.outscale.com/mark-for-stop-start: drain

# arrête le nœud, met à jour sa configuration et le redémarre
nplc.oks.outscale.com/mark-for-stop-start: update

# arrête et redémarre le nœud
nplc.oks.outscale.com/mark-for-stop-start: force

Nous vous recommandons de drainer vos nœuds pour garantir la fluidité de leur redémarrage.

Appliquer une annotation pour redémarrer un worker node

Pour redémarrer un worker node, appliquez-y l’annotation souhaitée en utilisant la commande suivante :

Exemple de requête
$ kubectl annotate node NAME_OF_NODE "nplc.oks.outscale.com/mark-for-stop-start=<ANNOTATION_VALUE>"
Exemple de résultat
node/ip-12-34-56-789 annotated

Cette commande annote votre nœud, et démarre le processus de redémarrage selon les différentes tâches que vous avez spécifiées dans votre annotation.

Vous pouvez vérifier que l’annotation a été correctement appliquée en utilisant la commande suivante :

Exemple de requête
$ kubectl describe node NAME_OF_NODE | grep "mark-for-stop-start"
Exemple de résultat
nplc.oks.outscale.com/mark-for-stop-start: <drain,update>

L’annotation disparaît une fois que votre nœud a redémarré correctement.

Pages connexes