Pipelining SSH et réutilisation des connexions
Réduisez le coût de chaque tâche.
Pipelining SSH et réutilisation des connexions est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 3 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 Ansible Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ansible Academy comprend 4 leçons au total.
La surcharge SSH s’accumule
Chaque tâche peut nécessiter une nouvelle connexion, une copie de fichier et une exécution via SSH. Répétez cela pour de nombreuses tâches et de nombreux hôtes, et la surcharge domine l’exécution.
Comment une tâche s’exécute normalement
Par défaut, Ansible copie un module sur l’hôte, l’exécute, puis nettoie les fichiers temporaires. Chaque étape coûte un aller-retour SSH que vous pouvez souvent éviter.
Le pipelining à la rescousse
Avec le pipelining, Ansible transmet le module via la session SSH existante au lieu d’écrire d’abord un fichier temporaire, ce qui réduit le nombre de connexions par tâche.
[ssh_connection]
pipelining = TrueLe piège de requiretty
Le pipelining nécessite sudo sans TTY, donc la configuration sudo distante ne doit pas imposer requiretty. Les distributions modernes conviennent, mais certaines distributions renforcées nécessitent un ajustement.
Réutilisez la connexion
OpenSSH maintient une connexion principale ouverte grâce à ControlPersist et y achemine les tâches suivantes, évitant une nouvelle négociation à chaque fois.
Réglez ssh_args
Ansible active la réutilisation des connexions grâce à ssh_args. La valeur ControlPersist définit combien de temps le socket partagé reste actif après la dernière tâche.
[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60sOù vivent les sockets
La connexion partagée réside dans un fichier socket du chemin de contrôle. Gardez ce chemin court pour éviter la limite du système d’exploitation sur la longueur des noms de socket.
[ssh_connection]
control_path = %(directory)s/%%h-%%p-%%rPipelining ou réutilisation
Ces mécanismes réduisent des coûts différents : le pipelining diminue les allers-retours au sein d’une tâche, tandis que ControlPersist réutilise la session SSH entre plusieurs tâches.
Utilisez les deux ensemble
Le pipelining et les connexions persistantes se cumulent. Activer les deux constitue l’une des accélérations les plus importantes et les moins risquées pour un grand playbook.
Accélérez aussi la collecte des faits
Si vous n’avez pas besoin des faits, définissez gather_facts: false pour ignorer le module de préparation. Vous supprimez ainsi une étape coûteuse au début de chaque scénario.
Mesurez le gain
Activez le rappel profile_tasks pour chronométrer chaque tâche. Il montre précisément où s’écoulent les secondes afin que vous puissiez confirmer que vos réglages ont réellement aidé.
Vérification rapide
Vous voulez que chaque tâche évite d’écrire un fichier temporaire avant de s’exécuter via SSH.
Récapitulatif
Activez le pipelining pour réduire les allers-retours et ControlPersist pour réutiliser les sessions SSH. Ensemble, ils réduisent considérablement la surcharge des connexions sur les grands scénarios. ⚡
Questions Fréquemment Posées
La leçon « Pipelining SSH et réutilisation des connexions » est-elle gratuite ?
Oui — le texte complet de « Pipelining SSH et réutilisation des connexions » 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 Ansible Academy, passe à CoddyKit PRO. Le cours Ansible Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Pipelining SSH et réutilisation des connexions » ?
Réduisez le coût de chaque tâche. Tu pratiques Ansible Academy 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 Ansible Academy ?
Aucune expérience préalable n'est requise. Ansible Academy 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 3 sur 4.
Combien de temps prend la leçon « Pipelining SSH et réutilisation des connexions » ?
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 Ansible Academy ?
Oui. Chaque leçon Ansible Academy 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
- forks et réglage du parallélisme
- Stratégies : linear, free et host_pinned
- Pipelining SSH et réutilisation des connexions
- Exécution par lots avec serial et déploiement progressif