SSH-pipelining og gjenbruk av tilkoblinger
Reduser kostnaden per oppgave.
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 = Truerequiretty-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=60sHer 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-%%rPipelining 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. ⚡
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
- forks og justering av parallellitet
- Strategier: linear, free og host_pinned
- SSH-pipelining og gjenbruk av tilkoblinger
- serial og trinnvis kjøring i puljer