Si chinsinsi kuti ndi makonda osasinthika Ansible sangathe kuchita ntchito yake mwachangu kwambiri. M'nkhaniyi ndifotokoza zifukwa zingapo za izi ndikupereka makonda ochepa omwe, mwina, angawonjezere liwiro la polojekiti yanu.
Apa ndi m'munsimu tikukambirana Ansible 2.9.x, amene anaikidwa mu virtualenv mwatsopano analenga mu njira mumaikonda.
Mukatha kukhazikitsa, pangani fayilo ya "ansible.cfg" pafupi ndi buku lanu lamasewera - malowa amakupatsani mwayi wosinthira zosinthazi pamodzi ndi pulojekitiyi, kuphatikizanso zidzangotsegula zokha.
Kupaka mapaipi
Ena mwina adamvapo kale zakufunika kogwiritsa ntchito mapaipi, ndiko kuti, osatengera ma module ku fayilo ya chandamale, koma kusamutsa zip archive atakulungidwa mu Base64 molunjika ku stdin ya womasulira wa Python, koma ena sangatero, koma zoona. imakhalabe chowonadi:
pipelining = True
Kusonkhanitsa mfundo
Kodi mumadziwa kuti ndi zoikamo zosasinthika, Ansible pa sewero lililonse limayambitsa zosonkhanitsira zowona kwa onse omwe akutenga nawo gawo? Kawirikawiri, ngati simunadziwe, tsopano mukudziwa. Kuti izi zisachitike, muyenera kuyatsa njira yofunsira mosapita m'mbali kuti mutolere mfundo (zomveka) kapena mwanzeru. M'menemo, zowona zidzasonkhanitsidwa kuchokera kwa omwe amasewera omwe sanakumane nawo m'masewera am'mbuyomu.
UPD. Mukamakopera, muyenera kusankha imodzi mwazokonda.
gathering = smart|explicit
Kugwiritsanso ntchito zolumikizira za ssh
Ngati mudayendetsapo Ansible mumayendedwe owongolera (njira ya "v", yobwerezedwa kamodzi mpaka kasanu ndi kamodzi), mwina mwazindikira kuti kulumikizana kwa ssh kumapangidwa ndikusweka. Kotero, palinso zobisika zingapo pano.
Mutha kupewa sitepe yakukhazikitsanso kulumikizana kwa ssh pamilingo iwiri nthawi imodzi: zonse mwachindunji mu kasitomala wa ssh, komanso posamutsa mafayilo kwa woyang'anira wowongolera kuchokera kwa manejala.
Kuti mugwiritsenso ntchito kulumikizana kwa ssh, ingoperekani makiyi ofunikira kwa kasitomala wa ssh. Kenako iyamba kuchita izi: ikakhazikitsa kulumikizana kwa ssh kwa nthawi yoyamba, ipanganso chotchedwa control socket, pakukhazikitsa kotsatira, idzayang'ana kukhalapo kwa socket iyi, ndipo ikapambana, gwiritsaninso ntchito ssh kugwirizana komwe kulipo. Ndipo kuti zonsezi zikhale zomveka, tiyeni tikhazikitse nthawi yoti tisungitse kulumikizana kukakhala kosagwira ntchito. Mutha kuwerenga zambiri mu
ssh_args = "-o ControlMaster=auto -o ControlPersist=15m"
Kuti mugwiritsenso ntchito ssh yotseguka kale posamutsa mafayilo kwa wowongolera, ingotchulani malo ena osadziwika ssh_tranfer_method. Zolemba pankhaniyi ndizovuta kwambiri
transfer_method = piped
Mwa njira, munthambi ya "kukulitsa" izi zimakhalaponso
Osawopa mpeni, kuopa mphanda
Kuyika kwina kothandiza ndi mafoloko. Zimatsimikizira kuchuluka kwa njira za ogwira ntchito zomwe zidzalumikizana nthawi imodzi ndi olandira ndikuchita ntchito. Chifukwa cha mawonekedwe a Python ngati chilankhulo, njira zimagwiritsidwa ntchito, osati ulusi, chifukwa Ansible amathandizirabe Python 2.7 - palibe asyncio kwa inu, palibe chifukwa choyambitsa machitidwe osagwirizana pano! Mwachikhazikitso Ansible amathamanga
forks = 20
Ndikukuchenjezani nthawi yomweyo kuti pangakhale zovuta pano zokhudzana ndi kuchuluka kwa kukumbukira pa makina olamulira. Mwanjira ina, mutha kuyika mafoloko = 100500, koma ndani adati zigwira ntchito?
Kuziyika zonse pamodzi
Zotsatira zake, kwa ansible.cfg (mtundu wa ini), zosintha zofunika zitha kuwoneka motere:
[defaults]
gathering = smart|explicit
forks = 20
[ssh_connection]
pipelining = True
ssh_args = -o ControlMaster=auto -o ControlPersist=15m
transfer_method = piped
Ndipo ngati mukufuna kubisa zonse mu YaML-kufufuza kwamunthu wathanzi, ndiye kuti zitha kuwoneka motere:
---
all:
vars:
ansible_ssh_pipelining: true
ansible_ssh_transfer_method: piped
ansible_ssh_args: -o ControlMaster=auto -o ControlPersist=15m
Tsoka ilo, izi sizingagwire ntchito ndi zoikamo "kusonkhanitsa = anzeru / omveka" ndi "mafoloko = 20": zofanana zawo za YaML kulibe. Mwina timawayika mu ansible.cfg, kapena timadutsa mumitundu yosiyanasiyana ya chilengedwe ANSIBLE_GATHERING ndi ANSIBLE_FORKS.
Za Mitogen
- Kodi izi za Mitogen zili kuti? - muli ndi ufulu wofunsa, owerenga okondedwa. Palibe paliponse m'nkhaniyi. Koma ngati ndinu okonzeka kwenikweni kuwerenga malamulo ake ndi kudziwa chifukwa playbook wanu ngozi ndi Mitogen, koma ntchito bwino ndi vanila Ansible, kapena chifukwa playbook yemweyo anali kugwira ntchito bwino kale, koma pambuyo pomwe anayamba kuchita zachilendo - chabwino, Mitogen akhoza kukhala chida chanu. Ikani izo, zimvetseni, lembani zolemba - ndiziwerenga ndi chidwi.
Chifukwa chiyani ine ndekha sindigwiritsa ntchito Mitogen? Chifukwa gladiolus imagwira ntchito pokhapokha ngati ntchitozo ndi zophweka ndipo zonse zili bwino. Komabe, ngati mutembenukira pang'ono kumanzere kapena kumanja - ndizomwezo, tafika: poyankha, zochepa zosadziwika bwino zimawulukira pa inu, ndipo kuti mutsirize chithunzicho, zonse zomwe zikusowa ndi mawu omwe amawoneka kuti "zikomo nonse. , aliyense ndi mfulu.” Kawirikawiri, sindikufuna kutaya nthawi kuti ndipeze zifukwa za "kugogoda mobisa".
Zina mwazosinthazi zidapezeka powerenga
Ogwiritsa ntchito olembetsedwa okha ndi omwe angatenge nawo gawo pa kafukufukuyu.
Ndi ma Ansible makonda awa ati omwe mumagwiritsa ntchito kufulumizitsa mapulojekiti anu?
-
69,6%pipelining=zoona32
-
34,8%kusonkhanitsa = smart/explicic16
-
52,2%ssh_args = "-o ControlMaster=auto -o ControlPersist=..."24
-
17,4%transfer_method = piped8
-
63,0%mafoloko = XXX29
-
6,5%Palibe mwa izi, Mitogen3 yokha
-
8,7%Mitogen + Ndiwona kuti ndi iti mwa makonda awa4
Ogwiritsa 46 adavota. Wogwiritsa m'modzi adasala.
Mukufuna zambiri za Ansible?
-
78,3%inde, ndithudi54
-
21,7%inde, ndikungofuna zinthu zolimba!15
-
0,0%ayi, ndipo sikofunikira pachabe0
-
0,0%ayi, zavuta!!!0
Ogwiritsa 69 adavota. Ogwiritsa ntchito 7 adakana.
Source: www.habr.com