Retirer puis réactiver un équilibreur de charge
Retirez et réintégrez les nœuds en toute sécurité.
Retirer puis réactiver un équilibreur de charge est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Mettre à jour le trafic en production est risqué
Si vous mettez à jour un serveur alors que des utilisateurs y envoient des requêtes, celles-ci échouent. La solution consiste d’abord à drainer le nœud du répartiteur de charge. 🚦
Ce que signifie drainer un nœud
Drainer un nœud consiste à cesser de lui envoyer du nouveau trafic tout en laissant les requêtes en cours se terminer. Vous pouvez alors le mettre à jour en toute sécurité.
Le cycle drainer, mettre à jour, réactiver
Le modèle sûr comporte trois étapes : drainer le nœud, déployer votre modification, puis le réactiver dans le répartiteur de charge.
Désactiver un nœud dans HAProxy
Le module community.general.haproxy désactive un nœud dorsal, ce qui indique à HAProxy d’arrêter de lui acheminer du trafic.
- name: Drain web node
community.general.haproxy:
state: disabled
host: "{{ inventory_hostname }}"
socket: /var/run/haproxy.sockExécuter la tâche LB depuis LB
Le socket HAProxy se trouve sur le répartiteur de charge. Utilisez donc delegate_to pour cibler l’hôte LB tout en désignant le nœud web qui est drainé.
delegate_to: lb01Attendre que les connexions se terminent
Laissez le temps aux requêtes actives de se terminer. Utilisez wait_for ou une courte pause afin de ne pas interrompre les utilisateurs au milieu d’une requête.
- name: Let traffic drain
ansible.builtin.wait_for:
timeout: 30
delegate_to: localhostDéployer maintenant en toute sécurité
Une fois le nœud retiré de la rotation, exécutez vos tâches de mise à jour : installez les paquets, déployez la configuration et redémarrez l’application. Aucun trafic en production n’est affecté. 🔧
Réactiver le nœud
Après la mise à jour, définissez à nouveau le nœud comme enabled afin que HAProxy recommence à acheminer du trafic vers votre serveur fraîchement déployé.
- name: Re-enable web node
community.general.haproxy:
state: enabled
host: "{{ inventory_hostname }}"
socket: /var/run/haproxy.sock
delegate_to: lb01Vérifier l’état avant de réactiver
Vérifiez que l’application est réellement disponible avant de la réintégrer. Un contrôle wait_for ou uri sur le point de contrôle d’état évite de servir un nœud défaillant.
- ansible.builtin.uri:
url: http://localhost:8080/health
status_code: 200
retries: 5
delay: 3Traiter un seul nœud à la fois
Associez ce cycle à serial afin de ne drainer qu’un ou deux nœuds à la fois. Les autres continuent de servir les requêtes, ce qui vous garantit une absence d’interruption.
- hosts: web
serial: 1Toujours réactiver, même en cas d’échec
Placez le déploiement dans un block avec always afin qu’une mise à jour échouée réintègre tout de même le nœud dans la rotation au lieu de le laisser isolé.
Vérification rapide
Vérifions le modèle de déploiement sûr.
Récapitulatif
Pour éviter toute interruption, drainer un nœud, le déployer, vérifier son état, puis le réactiver, un nœud à la fois avec serial et un bloc always. ✅
Questions Fréquemment Posées
La leçon « Retirer puis réactiver un équilibreur de charge » est-elle gratuite ?
Oui — le texte complet de « Retirer puis réactiver un équilibreur de charge » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Retirer puis réactiver un équilibreur de charge » ?
Retirez et réintégrez les nœuds en toute sécurité. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Retirer puis réactiver un équilibreur de charge » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Automatiser les équipements réseau avec cli_command
- delegate_to et run_once pour l’orchestration
- Coordonner les couches Web, application et DB
- Retirer puis réactiver un équilibreur de charge