Ukusheshisa Okufanelekile

Ukusheshisa Okufanelekile
Akuyona imfihlo ukuthi ngezilungiselelo ezizenzakalelayo I-Ansible ayikwazi ukwenza umsebenzi wayo ngokushesha okukhulu. Esihlokweni ngizoveza izizathu ezimbalwa zalokhu futhi nginikeze ubuncane bezilungiselelo eziwusizo, okungenzeka, empeleni zikhulise isivinini sephrojekthi yakho.

Lapha nangezansi sixoxa nge-Ansible 2.9.x, efakwe ku-virtualenv esanda kwakhiwa ngendlela oyithandayo.

Ngemva kokufaka, dala ifayela elithi “ansible.cfg” eduze kwebhuku lakho lokudlala - le ndawo izokuvumela ukuthi udlulise lezi zilungiselelo kanye nephrojekthi, futhi zizolayisha ngokuzenzakalelayo.

Ukufakwa kwamapayipi

Abanye kungenzeka ukuthi sebezwile kakade ngesidingo sokusebenzisa amapayipi, okungukuthi, ukungakopishi amamojula ohlelweni lwefayela lesistimu eqondiwe, kodwa ukudlulisa ingobo yomlando ye-zip esongwe ku-Base64 ngqo ku-stdin yomhumushi wePython, kodwa abanye bangase bangenzi, kodwa iqiniso. kuhlala kuyiqiniso: lesi silungiselelo kusathathwa kancane. Ngeshwa, okunye okusatshalaliswa kweLinux okudumile okusetshenziselwa ukulungisa i-sudo kahle ngokuzenzakalelayo - ukuze lo myalo udinga i-tty (itheminali), ngakho-ke i-Ansible ishiye lesi silungiselelo esiwusizo kakhulu sikhutshazwe ngokuzenzakalelayo.

pipelining = True

Ukuqoqa amaqiniso

Ingabe bewazi ukuthi ngezilungiselelo ezizenzakalelayo, Ukufaneleka kokudlala ngakunye kuqalisa iqoqo lamaqiniso labo bonke ababungazi ababamba iqhaza kukho? Ngokuvamile, uma ubungazi, manje uyazi. Ukuze uvimbele lokhu ukuthi kungenzeki, udinga ukunika amandla imodi yokucela esobala yokuqoqa amaqiniso (okusobala) noma imodi ehlakaniphile. Kuyo, amaqiniso azoqoqwa kuphela kulabo basokhaya abangazange bahlangane nemidlalo edlule.
I-UPD. Lapho ukopisha, kuzodingeka ukhethe eyodwa yalezi zilungiselelo.

gathering = smart|explicit

Ukusebenzisa kabusha ukuxhumana kwe-ssh

Uma uke wasebenzisa i-Ansible kwimodi yokulungisa iphutha (inketho ethi "v", ephindaphindwa izikhathi eziyisishiyagalolunye kuya kweziyisishiyagalolunye), kungenzeka ukuthi uqaphele ukuthi ukuxhumana kwe-ssh kwenziwa njalo futhi kuphulwa. Ngakho, kukhona ezimbalwa ezicashile lapha futhi.

Ungakwazi ukugwema isinyathelo sokuphinda usungule uxhumano lwe-ssh kumaleveli amabili ngesikhathi esisodwa: kokubili ngokuqondile kuklayenti le-ssh, nalapho udlulisela amafayela kumsingathi ophethwe esuka kumphathi.
Ukusebenzisa kabusha uxhumano lwe-ssh oluvulekile, vele udlulise okhiye abadingekayo kuklayenti le-ssh. Ngemuva kwalokho izoqala ukwenza lokhu okulandelayo: lapho isungula uxhumano lwe-ssh okokuqala ngqa, izophinde idale okuthiwa isokhethi lokulawula, ekufakweni okulandelayo, izohlola ukuba khona kwalesi sokhethi, futhi uma iphumelele, sebenzisa kabusha uxhumano lwe-ssh olukhona. Futhi ukwenza konke lokhu kube nengqondo, ake sibeke isikhathi sokugcina ukuxhumana lapho kungasebenzi. Ungafunda kabanzi ku ssh imibhalo, futhi kumongo we-Ansible simane sisebenzisa "ukudlulisela" izinketho ezidingekayo kuklayenti le-ssh.

ssh_args = "-o ControlMaster=auto -o ControlPersist=15m"

Ukuze usebenzise kabusha uxhumano lwe-ssh oseluvele luvuliwe lapho udlulisela amafayela kumsingathi ophethwe, vele ucacise esinye isilungiselelo esingaziwa ssh_tranfer_method. Imibhalo ephathelene nalesi sihloko ibaluleke kakhulu oncishanayo futhi iyadukisa, ngoba le nketho isebenza kahle! Kodwa ukufunda ikhodi yomthombo ikuvumela ukuthi uqonde ukuthi kuzokwenzekani ngempela: umyalo we-dd uzokwethulwa kumsingathi ophethwe, usebenza ngqo nefayela olifunayo.

transfer_method = piped

Ngendlela, egatsheni elithi "thuthukisa" lesi silungiselelo sikhona akayi ndawo.

Ungawusabi ummese, usabe imfologo

Esinye isilungiselelo esiwusizo izimfoloko. Inquma inani lezinqubo zabasebenzi ezizoxhumeka ngesikhathi esisodwa kubasingathi futhi zenze imisebenzi. Ngenxa yezici zePython njengolimi, kusetshenziswa izinqubo, hhayi imicu, ngoba i-Ansible isasekela iPython 2.7 - ayikho i-asyncio yakho, asikho isidingo sokwethula ukuziphatha okuvumelanayo lapha! Ngokuzenzakalelayo imigijimo ye-Ansible emihlanu abasebenzi, kodwa uma ibuzwa kahle, izokwethula okwengeziwe:

forks = 20

Ngivele ngikuxwayise ngokushesha ukuthi kungase kube khona ubunzima lapha obuhlobene nenani elitholakalayo lememori emshinini wokulawula. Ngamanye amazwi, ungabeka izimfoloko=100500, kodwa ngubani othe kuzosebenza?

Ukuhlanganisa konke

Njengomphumela, ku-ansible.cfg (ifomethi ye-ini), izilungiselelo ezidingekayo zingabukeka kanje:

[defaults]
gathering = smart|explicit
forks = 20
[ssh_connection]
pipelining = True
ssh_args = -o ControlMaster=auto -o ControlPersist=15m
transfer_method = piped

Futhi uma ufuna ukufihla yonke into ku-YaML-inventory evamile yomuntu onempilo, khona-ke ingabukeka kanje:

---
all:
  vars:
    ansible_ssh_pipelining: true
    ansible_ssh_transfer_method: piped
    ansible_ssh_args: -o ControlMaster=auto -o ControlPersist=15m

Ngeshwa, lokhu ngeke kusebenze nezilungiselelo ezithi “gathering = smart/explicit” kanye “nezimfoloko = 20”: okufana kwazo ne-YaML akukho. Kuphakathi kokuthi siwasetha kokuthi ansible.cfg, noma siwadlulisela ezintweni eziguquguqukayo zemvelo ANSIBLE_GATHERING kanye ne-ANSIBLE_FORKS.

Mayelana ne-Mitogen
- Kukuphi lokhu mayelana neMitogen? - unelungelo lokubuza, mfundi othandekayo. Akukho ndawo kulesi sihloko. Kodwa uma usukulungele ngempela ukufunda ikhodi yayo futhi uthole ukuthi kungani i-playbook yakho iphahlazeka ne-Mitogen, kodwa isebenza kahle nge-vanilla Ansible, noma kungani i-playbook efanayo yayisebenza kahle ngaphambili, kodwa ngemva kokubuyekezwa kwaqala ukwenza izinto ezingavamile - kahle, uMitogen. kungenzeka kube yithuluzi lakho . Yisebenzise, ​​iqonde, bhala izindatshana - ngizoyifunda ngentshisekelo.

Kungani ngingasebenzisi iMitogen mathupha? Ngoba i-Gladiolus isebenza kuphela inqobo nje uma imisebenzi ilula futhi yonke into ihamba kahle. Kodwa-ke, uma ujikela kancane kwesokunxele noma kwesokudla - yilokho-ke, sesifikile: ngokuphendula, idlanzana lezinto ezihlukile ezingacacile zindizela kuwe, futhi ukuqedela isithombe, okushodayo nje inkulumo evamile "ngiyabonga nonke , wonke umuntu ukhululekile.” Ngokuvamile, angifuni nje ukuchitha isikhathi ngithola izizathu zokulandelayo "zokushaya ngaphansi komhlaba".

Ezinye zalezi zilungiselelo zitholwe phakathi nenqubo yokufunda ikhodi yomthombo i-plugin yokuxhumana ngaphansi kwegama elizichazayo elithi "ssh.py". Ngihlanganyela imiphumela yokufunda ngethemba lokuthi kuzogqugquzela omunye umuntu ukuthi abheke imithombo, ayifunde, ahlole ukuqaliswa, aqhathanise nemibhalo - emva kwakho konke, ngokushesha noma kamuva konke lokhu kuzokulethela imiphumela emihle. Ngikufisela inhlanhla!

Abasebenzisi ababhalisiwe kuphela abangabamba iqhaza kuhlolovo. Ngena ngemvume, wamukelekile.

Yiziphi kwalezi zilungiselelo ezilandelayo ezinengqondo ozisebenzisayo ukusheshisa amaphrojekthi akho?

  • 69,6%pipelining=iqiniso32

  • 34,8%ukuqoqa = smart/okucacile16

  • 52,2%ssh_args = "-o ControlMaster=okuzenzakalelayo -o ControlPersist=..."24

  • 17,4%transfer_method = piped8

  • 63,0%izimfoloko = XXX29

  • 6,5%Akukho kulokhu, iMitogen3 kuphela

  • 8,7%I-Mitogen + ngizoqaphela ukuthi iyiphi kulezi zilungiselelo4

Bangu-46 abasebenzisi abavotile. Umsebenzisi ongu-21 ugobile.

Ufuna ezinye izinto nge-Ansible?

  • 78,3%yebo, kunjalo54

  • 21,7%yebo, ngifuna nje ezinye izinto eziqinile!15

  • 0,0%cha, futhi akudingekile lutho0

  • 0,0%cha kuyaxaka!!!0

Bangu-69 abasebenzisi abavotile. Abasebenzisi abangu-7 bagobile.

Source: www.habr.com

Engeza amazwana