Ansible Academy · leksjon

SSH-pipelining og gjenbruk av tilkoblinger

Reduser kostnaden per oppgave.

Leksjon 3 av 413 trinn

SSH-pipelining og gjenbruk av tilkoblinger er en gratis leksjon i Ansible Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Ansible Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

SSH-belastningen summeres

Hver oppgave kan innebære en ny pålogging, filkopiering og kjøring over SSH. Multipliser dette med mange oppgaver og mange verter, så dominerer belastningen hele kjøringen.

Slik kjører en oppgave vanligvis

Som standard kopierer Ansible en modul til verten, kjører den og rydder deretter opp. Hvert trinn koster en SSH-tur frem og tilbake som du ofte kan unngå.

Pipelining til unnsetning

Med pipelining strømmer Ansible modulen over den eksisterende SSH-økten i stedet for å skrive en midlertidig fil først. Dermed reduseres antallet tilkoblinger per oppgave.

[ssh_connection]
pipelining = True

requiretty-fellen

Pipelining krever sudo uten en TTY, så sudoers-konfigurasjonen på den eksterne maskinen må ikke tvinge frem requiretty. Moderne distribusjoner fungerer fint, men enkelte herdede systemer trenger en justering.

Gjenbruk tilkoblingen

OpenSSH ControlPersist holder en hovedtilkobling åpen og sender senere oppgaver gjennom den. Dermed slipper du en helt ny håndtrykkprosess hver gang.

Juster ssh_args

Ansible aktiverer gjenbruk av tilkoblinger gjennom ssh_args. ControlPersist-verdien bestemmer hvor lenge den delte sokkelen forblir aktiv etter den siste oppgaven.

[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60s

Her ligger soklene

Den delte tilkoblingen ligger i en sokkelfil i en control path. Hold denne banen kort for å unngå operativsystemets grense for lengden på sokkelnavn.

[ssh_connection]
control_path = %(directory)s/%%h-%%p-%%r

Pipelining kontra gjenbruk

De løser ulike kostnader: pipelining reduserer antallet turer frem og tilbake i én oppgave, mens ControlPersist gjenbruker SSH-økten på tvers av mange oppgaver.

Bruk begge sammen

Pipelining og vedvarende tilkoblinger forsterker hverandre. Å slå på begge er en av de største og minst risikable ytelsesforbedringene du kan gi et stort playbook.

Raskere facts også

Hvis du ikke trenger facts, angir du gather_facts: false for å hoppe over setup-modulen. Da fjernes et kostbart trinn fra starten av hvert play.

Mål forbedringen

Aktiver callbacken profile_tasks for å måle tiden for hver oppgave. Den viser nøyaktig hvor sekundene brukes, slik at du kan bekrefte at justeringene faktisk hjalp.

Hurtigsjekk

Du vil at hver oppgave skal unngå å skrive en midlertidig fil før den kjører over SSH.

Oppsummering

Slå på pipelining for å redusere turer frem og tilbake, og ControlPersist for å gjenbruke SSH-økter. Sammen reduserer de tilkoblingsbelastningen kraftig i store plays. ⚡

Gratis å komme i gang

Lær deg YAML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «SSH-pipelining og gjenbruk av tilkoblinger» gratis?

Ja – hele teksten i «SSH-pipelining og gjenbruk av tilkoblinger» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Ansible Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «SSH-pipelining og gjenbruk av tilkoblinger»?

Reduser kostnaden per oppgave. Du øver på Ansible Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Ansible Academy?

Ingen tidligere erfaring er nødvendig. Ansible Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «SSH-pipelining og gjenbruk av tilkoblinger»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Ansible Academy-leksjonen?

Ja. Alle Ansible Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. forks og justering av parallellitet
  2. Strategier: linear, free og host_pinned
  3. SSH-pipelining og gjenbruk av tilkoblinger
  4. serial og trinnvis kjøring i puljer
← Tilbake til Ansible Academy