Te tere haere Ansible

Te tere haere Ansible
Ehara i te mea ngaro na nga tautuhinga taunoa kaore e taea e Ansible te mahi tere. I roto i te tuhinga ka whakaatu ahau i nga take maha mo tenei me te tuku i te iti rawa o nga tautuhinga, tera pea ka piki ake te tere o to kaupapa.

I konei me raro ka matapakihia e matou te Ansible 2.9.x, i whakauruhia ki roto i te virtualenv hou i hangaia i roto i to huarahi tino pai.

Whai muri i te whakaurunga, hangahia he konae "ansible.cfg" ki te taha o to pukapuka takaro - ma tenei waahi ka taea e koe te whakawhiti i enei tautuhinga me te kaupapa, ka utaina aunoatia.

Te mahi paipa

Ko etahi kua rongo kee mo te hiahia ki te whakamahi i te pipelining, ara, kaua e kape i nga waahanga ki te punaha konae o te punaha whaainga, engari ko te whakawhiti i tetahi puranga zip kua takaia ki Base64 tika ki te stdin o te kaiwhakamaori Python, engari ko etahi kaore, engari ko te meka. he pono tonu: tenei tautuhinga kei te iti tonu te whakaaro. Heoi ano, ko etahi o nga tohatoha Linux rongonui i whakamahia ki te whirihora i te sudo kaore i te tino pai ma te taunoa - na tenei whakahau e hiahia ana he tty (terminal), no reira ka waiho e Ansible tenei tautuhinga tino whaihua kua monokia ma te taunoa.

pipelining = True

Te kohikohi meka

I mohio koe me nga tautuhinga taunoa, ko Ansible mo ia taakaro ka timata i te kohinga meka mo nga kaihautu katoa ka uru ki roto? I te nuinga, ki te kore koe i mohio, inaianei ka mohio koe. Kia kore ai e puta, me whakaahei koe i te aratau tono marama mo te kohikohi meka (marama) me te aratau atamai ranei. I roto, ka kohia nga meka mai i nga kaihautu kaore i kitea i nga whakaari o mua.
UPD. I te kape, me whiriwhiri koe i tetahi o enei tautuhinga.

gathering = smart|explicit

Te whakamahi ano i nga hononga ssh

Mena kua whakahaere koe i te Ansible i roto i te aratau patuiro (te "v" kōwhiringa, ka tukuna kotahi ki te iwa nga wa), kua kite pea koe kei te hanga me te pakaru nga hononga ssh. Na, kei konei ano etahi korero iti.

Ka taea e koe te karo i te taahiraa o te whakatuu ano i te hononga ssh i nga taumata e rua i te wa kotahi: e rua tika i roto i te kiritaki ssh, me te whakawhiti i nga konae ki te kaihautu whakahaere mai i te kaiwhakahaere.
Hei whakamahi ano i tetahi hononga ssh tuwhera, tukuna noa nga taviri e tika ana ki te kiritaki ssh. Na ka timata ki te mahi i nga mea e whai ake nei: i te wa e whakatuu ana i tetahi hononga ssh mo te wa tuatahi, ka hangaia ano he turanga e kiia nei ko te mana whakahaere, i runga i nga whakaurunga o muri mai, ka tirohia te noho tonu o tenei turanga, a ki te angitu, whakamahia ano te hononga ssh o mua. A kia pai ai enei mea katoa, me whakarite te wa mo te pupuri i te hononga ina kore e hohe. Ka taea e koe te panui atu i roto ssh tuhinga, a i roto i te horopaki o Ansible ka whakamahi noa matou i te "whakamua" nga whiringa e tika ana ki te kaihoko ssh.

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

Hei whakamahi ano i tetahi hononga ssh kua tuwhera i te wa e whakawhiti ana i nga konae ki tetahi kaihautu whakahaere, tohua noa tetahi atu tautuhinga ssh_tranfer_method. He tino nui nga tuhinga mo tenei kaupapa koroke me te whakapohehe, no te mea he pai te mahi o tenei whiringa! Engari te panui waehere puna ka taea e koe te mohio he aha te mea ka puta: ka whakarewahia te whakahau dd ki te kaihautu whakahaere, ka mahi tika me te konae e hiahiatia ana.

transfer_method = piped

Ma te ara, i roto i te peka "whakawhanake" kei te noho ano tenei ahuatanga e kore e haere ki hea.

Kaua e mataku ki te maripi, kia wehi ki te marau

Ko tetahi atu tautuhinga whai hua ko nga marau. Ka whakatauhia te maha o nga tukanga kaimahi ka hono atu ki nga kaihautu me te mahi i nga mahi. Na nga ahuatanga motuhake o te Python hei reo, ka whakamahia nga tikanga, ehara i te miro, na te mea kei te tautoko tonu a Ansible i te Python 2.7 - kaore he asyncio mo koe, kaore he take ki te whakauru i te whanonga tukutahi i konei! Ma te taunoa ka rere a Ansible e rima nga kaimahi, engari ki te patai tika, ka nui ake te whakarewatanga:

forks = 20

Ka whakatupato noa ahau ki a koe kei te raru pea kei konei e pa ana ki te nui o te mahara kei runga i te miihini whakahaere. Arā, ka taea e koe te whakarite marau=100500, engari ko wai i kii ka pai?

Te whakakotahi katoa

Ko te mutunga, mo te ansible.cfg (ini te whakatakotoranga), penei pea te ahua o nga tautuhinga e tika ana:

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

A, ki te hiahia koe ki te huna i nga mea katoa i roto i te YaML-wairangi o te tangata hauora, ka penei pea te ahua:

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

Kia aroha mai, kare tenei e mahi me nga tautuhinga "kohikohi = atamai/marama" me te "marau = 20": kaore o raatau rite ki a YaML. Ka tautuhia e matou ki roto i te ansible.cfg, ka tukuna ranei ma nga taurangi taiao ANSIBLE_GATHERING me ANSIBLE_FORKS.

Mo Mitogen
- Kei hea tenei mo Mitogen? - kei a koe te tika ki te patai, e te kaipanui. Kaore he waahi i roto i tenei tuhinga. Engari ki te tino reri koe ki te panui i tana waehere me te mohio he aha i pakaru ai to pukapuka takaro ki a Mitogen, engari he pai te mahi me te vanilla Ansible, he aha ranei i pai ai te mahi o taua pukapuka takaro i mua, engari i muri i te tiimata o te whakahou i nga mahi rereke - pai, Mitogen Ko pea pea to taputapu. Whakamahia, kia mohio, tuhia nga tuhinga - Ka panui ahau me te hiahia.

He aha ahau e kore ai e whakamahi i a Mitogen? Na te mea ka mahi noa te gladiolus i te mea he tino ngawari nga mahi ka pai nga mea katoa. Heoi, ki te huri iti koe ki te taha maui, ki te taha matau ranei - koira, kua tae mai matou: hei whakautu, ka rere atu etahi o nga tuunga kore marama ki a koe, hei whakaoti i te pikitia, ko nga mea katoa e ngaro ana ko te kupu noa "nga mihi ki a koutou katoa. , he waatea te katoa.” I te nuinga o te waa, kaore au e pai ki te whakapau taima ki te rapu i nga take mo te "patuki raro" e whai ake nei.

I kitea etahi o enei tautuhinga i te wa e panui ana waehere puna mono hononga i raro i te ingoa whakamaarama whaiaro "ssh.py". Ka tohatohahia e ahau nga hua o te panui i runga i te tumanako ka akiaki tetahi atu ki te titiro ki nga puna korero, ki te panui, ki te tirotiro i te whakatinanatanga, ki te whakataurite ki nga tuhinga - i muri i nga mea katoa, i muri mai ka puta mai he hua pai. Waimarie!

Ko nga kaiwhakamahi kua rehita anake ka uru ki te rangahau. Waitohu maitēnā.

Ko tehea o enei tautuhinga Ansible e whakamahia ana e koe hei tere ake i o kaupapa?

  • 69,6 oraupipelining= pono32

  • 34,8 oraukohikohi = atamai/marama16

  • 52,2 oraussh_args = "-o ControlMaster=aunoa -o ControlPersist=..."24

  • 17,4 orautikanga whakawhiti = paipa8

  • 63,0 oraumarau = XXX29

  • 6,5 orauKaore tetahi o enei, ko Mitogen3 anake

  • 8,7 orauMitogen + Ka kite ahau ko wai o enei tautuhinga4

46 nga kaiwhakamahi i pooti. 21 te kaiwhakamahi i aukati.

Kei te hiahia korero ano mo Ansible?

  • 78,3 orauae, o te akoranga54

  • 21,7 orauāe, kei te pirangi au ki etahi atu mea pakeke!15

  • 0,0 oraukaore, a kaore e tika mo te kore0

  • 0,0 oraukāo, he uaua!!!0

69 nga kaiwhakamahi i pooti. 7 nga kaiwhakamahi i aukati.

Source: will.com

Tāpiri i te kōrero