0Pricing
DevOps Bootcamp · Leçon

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 DevOps Bootcamp 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 DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp 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 = True

Le 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=60s

Où 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-%%r

Pipelining 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 DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp 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 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 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 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

  1. forks et réglage du parallélisme
  2. Stratégies : linear, free et host_pinned
  3. Pipelining SSH et réutilisation des connexions
  4. Exécution par lots avec serial et déploiement progressif
← Retour à DevOps Bootcamp