Ho potlakisa Ansible

Ho potlakisa Ansible
Ha se lekunutu hore ka li-setting tsa kamehla Ansible e ke ke ea etsa mosebetsi oa eona kapele haholo. Sengoliloeng ke tla supa mabaka a 'maloa a sena mme ke fane ka bonyane ba litlhophiso tseo, mohlomong, li tla eketsa lebelo la projeke ea hau.

Mona le ka tlase re buisana ka Ansible 2.9.x, e kentsoeng ka virtualenv e sa tsoa etsoa ka tsela eo u e ratang.

Ka mor'a ho kenya, etsa faele ea "ansible.cfg" haufi le buka ea hau ea ho bapala - sebaka sena se tla u lumella ho fetisetsa litlhophiso tsena hammoho le morero, 'me li tla iketsetsa feela.

Ho kenya liphaephe

E ka 'na eaba ba bang ba se ba utloile ka tlhokahalo ea ho sebelisa pipelining, ke hore, ho se kopitse li-module ho tsamaiso ea faele ea sepheo, empa ho fetisetsa polokelo ea zip e phuthetsoeng ka Base64 ka ho toba ho stdin ea mofetoleli oa Python, empa ba bang ba ka 'na ba se ke ba etsa joalo. e ntse e le 'nete: tlhophiso ena e ntse e khelloa fatše. Ka bomalimabe, tse ling tsa liphatlalatso tse tsebahalang tsa Linux tse sebelisetsoang ho lokisa sudo hantle ka ho sa feleng - e le hore taelo ena e hloke tty (terminal), kahoo Ansible e siile tlhophiso ena e sebetsang e holofalitsoe ke kamehla.

pipelining = True

Ho bokella lintlha

A na u ne u tseba hore ka litlhophiso tsa kamehla, E loketse papali e 'ngoe le e 'ngoe e qala pokello ea lintlha bakeng sa baamoheli bohle ba nkang karolo ho eona? Ka kakaretso, haeba u ne u sa tsebe, joale ua tseba. Ho thibela sena hore se se ke sa etsahala, o hloka ho lumella mokhoa o hlakileng oa kopo bakeng sa ho bokella lintlha (tse hlakileng) kapa mokhoa o bohlale. Ho eona, lintlha li tla bokelloa feela ho tsoa ho baamoheli ba neng ba sa kopane le lipapali tse fetileng.
UPD. Ha u kopitsa, u tla tlameha ho khetha e 'ngoe ea litlhophiso tsena.

gathering = smart|explicit

Ho sebelisa likhokahano tsa ssh hape

Haeba u kile ua matha Ansible ka mokhoa oa ho lokisa liphoso (khetho ea "v", e pheta-pheta ho isa ho makhetlo a robong), mohlomong u hlokometse hore likhokahano tsa ssh li lula li etsoa le ho robeha. Kahoo, ho na le li-subtleties tse 'maloa mona hape.

U ka qoba mohato oa ho tsosolosa khokahanyo ea ssh maemong a mabeli ka nako e le 'ngoe: ka bobeli ka ho toba ho moreki oa ssh, le ha u fetisetsa lifaele ho moamoheli ea laoloang ho tsoa ho mookameli.
Ho sebelisa hape khokahano ea ssh e bulehileng, fetisetsa linotlolo tse hlokahalang ho moreki oa ssh. Ebe e tla qala ho etsa tse latelang: ha o theha khokahano ea ssh ka lekhetlo la pele, e tla theha seo ho thoeng ke "control socket", ha lits'ebetso tse latelang li tla lekola boteng ba sokete ena, 'me haeba e atlehile, e sebelise hape. khokahano ea ssh e teng. 'Me ho etsa hore sena sohle se be le kelello, ha re behelleng nako ea ho boloka khokahano ha e sa sebetse. U ka bala ho feta ho ssh litokomane, le moelelong oa Ansible re sebelisa feela "ho fetisa" likhetho tse hlokahalang ho moreki oa ssh.

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

Ho sebelisa hape khokahano ea ssh e seng e ntse e butsoe ha u fetisetsa lifaele ho moamoheli ea laoloang, bolela feela tlhophiso e 'ngoe e sa tsejoeng ssh_tranfer_method. Litokomane tse mabapi le taba ena li matla haholo hlabang 'me e khelosa, hobane khetho ena e sebetsa hantle! Empa ho bala mohloli oa khoutu e u lumella ho utloisisa hore na hantle-ntle ho tla etsahala eng: taelo ea dd e tla hlahisoa ho moamoheli ea laoloang, e sebetsa ka kotloloho le faele e lakatsehang.

transfer_method = piped

Ka tsela, lekaleng la "ntlafala" ho hlophisoa hona ho boetse ho teng ho se ye kae kapa kae.

Se tshabe thipa, tshaba fereko

Tlhophiso e 'ngoe e sebetsang ke lifereko. E etsa qeto ea palo ea lits'ebetso tsa basebetsi tse tla hokela ka nako e le 'ngoe ho baamoheli le ho etsa mesebetsi. Ka lebaka la likarolo tse ikhethang tsa Python joalo ka puo, lits'ebetso li sebelisoa, eseng likhoele, hobane Ansible e ntse e ts'ehetsa Python 2.7 - ha ho na asyncio bakeng sa hau, ha ho na thuso ea ho hlahisa boitšoaro bo sa tsitsang mona! Ka kamehla Ansible matha tse hlano basebetsi, empa ha e botsoa ka nepo, e tla qala tse ling:

forks = 20

Ke mpa ke u lemosa hang-hang hore ho ka 'na ha e-ba le mathata a mang mona a amanang le palo e fumanehang ea mohopolo mochine oa taolo. Ka mantsoe a mang, u ka beha lifereko = 100500, empa ke mang ea itseng e tla sebetsa?

Ho kopanya kaofela

Ka lebaka leo, bakeng sa ansible.cfg (fomate ea ini), litlhophiso tse hlokahalang li ka shebahala tjena:

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

'Me haeba u batla ho pata ntho e' ngoe le e 'ngoe ka lethathamong le tloaelehileng la YaML ea motho ea phetseng hantle, e ka shebahala tjena:

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

Ka bomalimabe, sena se ke ke sa sebetsa le litlhophiso tsa "bokello = bohlale / pepenene" le "lifereko = 20": litekanyo tsa bona tsa YaML ha li eo. Re li beha ka ansible.cfg, kapa re li fetisa ka har'a maemo a tikoloho ANSIBLE_GATHERING le ANSIBLE_FORKS.

Mabapi le Mitogen
- Sena se hokae ka Mitogen? - u na le tokelo ea ho botsa, 'mali ea ratehang. Ha ho kae kapa kae sehloohong sena. Empa haeba u hlile u itokiselitse ho bala khoutu ea eona 'me u fumane hore na ke hobane'ng ha buka ea hau ea ho bapala e senyeha le Mitogen, empa e sebetsa hantle le vanilla Ansible, kapa hore na ke hobane'ng ha buka ea ho bapala e ne e sebetsa hantle pele, empa ka mor'a hore ntlafatso e qale ho etsa lintho tse makatsang - hantle, Mitogen. e ka ba sesebelisoa sa hau. E sebelise, e utloisise, ngola lingoliloeng - ke tla e bala ka thahasello.

Hobaneng ke sa sebelise Mitogen ka bonna? Hobane gladiolus e sebetsa feela ha feela mesebetsi e le bonolo ebile tsohle li hantle. Leha ho le joalo, haeba u retelehela hanyane ka ho le letšehali kapa ka ho le letona - ke hona, re fihlile: ka karabo, mekhelo e seng mekae e sa hlakang e fofa ho uena, 'me ho phethela setšoantšo, se sieo feela ke poleloana e tloaelehileng "kea leboha bohle. , bohle ba lokolohile.” Ka kakaretso, ha ke batle ho senya nako ho fumana mabaka a "ho kokota ka tlas'a lefatše" ho latelang.

Tse ling tsa litlhophiso tsena li ile tsa fumanoa nakong ea ho bala mohloli oa khoutu plugin ea khokahano tlasa lebitso le itlhalosang "ssh.py". Ke arolelana liphello tsa ho bala ka tšepo ea hore e tla susumetsa motho e mong ho sheba mehloli, ho e bala, ho hlahloba ts'ebetsong, ho bapisa le litokomane - ka mor'a moo, kapele kapa hamorao sena sohle se tla u tlisetsa liphello tse ntle. Mahlohonolo!

Ke basebelisi ba ngolisitsoeng feela ba ka kenyang letsoho phuputsong. kenaka kopo.

Ke litlhophiso life ho tse latelang tse Anoble tseo u li sebelisang ho potlakisa merero ea hau?

  • 69,6%pipelining=nnete32

  • 34,8%bokella = bohlale/ pepenene16

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

  • 17,4%transfer_method = piped8

  • 63,0%lifereko = XXX29

  • 6,5%Ha ho le e 'ngoe ea sena, ke Mitogen3 feela

  • 8,7%Mitogen + Ke tla hlokomela hore na ke efe ea litlhophiso tsena4

Basebelisi ba 46 ba ile ba khetha. Mosebedisi a le 21 o hanne.

U batla lintlha tse ling ka Ansible?

  • 78,3%e, ho joalo54

  • 21,7%ee, ke batla fela dilo tse di thata!15

  • 0,0%che, 'me ha ho hlokahale bakeng sa letho0

  • 0,0%che, e rarahane!!!0

Basebelisi ba 69 ba ile ba khetha. Basebelisi ba 7 ba ile ba hana.

Source: www.habr.com

Eketsa ka tlhaloso