Gaggauta Mai yiwuwa

Gaggauta Mai yiwuwa
Ba asiri ba ne cewa tare da saitunan tsoho Mai yiwuwa ba zai iya yin aikinsa da sauri ba. A cikin labarin zan nuna dalilai da yawa don wannan kuma in ba da mafi ƙarancin saitunan da, mai yiwuwa, za su ƙara saurin aikin ku.

Anan da ƙasa muna tattaunawa akan Mai yiwuwa 2.9.x, wanda aka shigar a cikin sabon ƙirar Virtualenv ta hanyar da kuka fi so.

Bayan shigarwa, ƙirƙirar fayil ɗin "ansible.cfg" kusa da littafin wasan ku - wannan wurin zai ba ku damar canja wurin waɗannan saitunan tare da aikin, ƙari kuma za su yi lodi ta atomatik.

Bututun man fetur

Wataƙila wasu sun riga sun ji game da buƙatar amfani da bututun mai, wato, ba yin kwafin kayayyaki zuwa tsarin fayil ɗin tsarin da aka yi niyya ba, amma canja wurin fayil ɗin zip da aka nannade cikin Base64 kai tsaye zuwa stdin na fassarar Python, amma wasu na iya ƙi, amma gaskiyar. ya kasance gaskiya: wannan saitin har yanzu ya rage rashin kima. Abin takaici, wasu shahararrun rabawa na Linux da aka yi amfani da su don saita sudo ba su da kyau ta tsohuwa - ta yadda wannan umarni ya buƙaci tty (terminal), don haka Ansible ya bar wannan saitin mai amfani ta hanyar tsoho.

pipelining = True

Tattara bayanai

Shin kun san cewa tare da saitunan tsoho, Mai yiwuwa ga kowane wasa yana ƙaddamar da tarin bayanan ga duk rundunonin da suka shiga ciki? Gabaɗaya, idan ba ku sani ba, yanzu kun sani. Don hana faruwar hakan, kuna buƙatar kunna ko dai yanayin buƙatu na zahiri don tattara bayanai (bayyanannu) ko yanayin wayo. A ciki, za a tattara bayanan gaskiya ne kawai daga waɗanda ba a ci karo da su a wasannin da suka gabata ba.
UPD. Lokacin yin kwafi, dole ne ka zaɓi ɗayan waɗannan saitunan.

gathering = smart|explicit

Sake amfani da haɗin ssh

Idan kun taɓa kunna Mai yiwuwa a cikin yanayin gyara kuskure (zaɓin "v", maimaita sau ɗaya zuwa tara), ƙila kun lura cewa ana yin haɗin ssh koyaushe kuma yana karye. Don haka, akwai ma'aurata na dabara anan kuma.

Kuna iya guje wa matakin sake kafa haɗin ssh a matakai biyu a lokaci ɗaya: duka kai tsaye a cikin abokin ciniki ssh, da kuma lokacin canja wurin fayiloli zuwa mai sarrafa sarrafawa daga mai sarrafa.
Don sake amfani da haɗin ssh buɗe, kawai wuce maɓallan da suka dace zuwa abokin ciniki ssh. Sa'an nan kuma zai fara yin haka: lokacin da aka kafa haɗin ssh a karon farko, zai kuma haifar da abin da ake kira soket na sarrafawa, bayan shigarwa na gaba, zai duba wanzuwar wannan soket ɗin, kuma idan ya yi nasara, sake amfani da shi. haɗin ssh na yanzu. Kuma don yin wannan duka yana da ma'ana, bari mu saita lokacin kiyaye haɗin gwiwa lokacin da ba ya aiki. Kuna iya karantawa a ciki ssh takardun, kuma a cikin mahallin Mai yiwuwa kawai muna amfani da "gabatar" zaɓuɓɓukan da suka dace ga abokin ciniki ssh.

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

Don sake amfani da haɗin ssh da aka riga aka buɗe lokacin canja wurin fayiloli zuwa mai gudanarwa, kawai saka wani saitin ssh_tranfer_method wanda ba a san shi ba. Takardun akan wannan batu suna da matuƙar girma m da kuma yaudara, saboda wannan zaɓi yana aiki sosai! Amma karatu lambar tushe yana ba ku damar fahimtar ainihin abin da zai faru: za a ƙaddamar da umarnin dd akan mai watsa shiri mai sarrafawa, aiki kai tsaye tare da fayil ɗin da ake so.

transfer_method = piped

Af, a cikin reshe na "haɓaka" kuma akwai wannan saitin ba zuwa ko'ina.

Kada ku ji tsoron wuka, ku ji tsoron cokali mai yatsa

Wani wuri mai amfani shine cokali mai yatsu. Yana ƙayyade adadin matakan ma'aikata waɗanda za su haɗu tare da runduna kuma suyi ayyuka. Saboda bambance-bambancen Python a matsayin harshe, ana amfani da matakai, ba zaren zare ba, saboda Asible har yanzu yana goyan bayan Python 2.7 - babu asyncio a gare ku, babu ma'ana a gabatar da halayen asynchronous anan! Ta hanyar tsoho Mai yiwuwa yana gudana biyar ma'aikata, amma idan aka tambaye shi daidai, zai ƙaddamar da ƙarin:

forks = 20

Ina yi muku gargaɗi nan da nan cewa za a iya samun wasu matsaloli a nan masu alaƙa da yawan adadin ƙwaƙwalwar ajiya akan injin sarrafawa. A takaice dai, zaku iya, ba shakka, saita cokali mai yatsu = 100500, amma wa ya ce zai yi aiki?

Saka shi duka tare

Sakamakon haka, don ansible.cfg (tsarinini), saitunan da ake buƙata na iya yin kama da wannan:

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

Kuma idan kuna son ɓoye komai a cikin kayan YaML na al'ada na mutum mai lafiya, to yana iya kama da wani abu kamar haka:

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

Abin takaici, wannan ba zai yi aiki tare da saitunan "taro = mai kaifin baki/bayyane" da "forks = 20": babu kwatankwacinsu na YaML. Ko dai mu saita su a cikin ansible.cfg, ko mu wuce su ta cikin masu canjin yanayi ANSIBLE_GATHERING da ANSIBLE_FORKS.

Game da Mitogen
- Ina wannan game da Mitogen? - kana da damar tambaya, masoyi mai karatu. Babu ko'ina a cikin wannan labarin. Amma idan da gaske kuna shirye don karanta lambar sa kuma ku gano dalilin da yasa littafin wasan ku ya yi karo da Mitogen, amma yana aiki da kyau tare da vanilla Mai yiwuwa, ko kuma me yasa wannan littafin wasan yake aiki da kyau a baya, amma bayan sabuntawa ya fara yin abubuwan ban mamaki - da kyau, Mitogen zai iya zama kayan aikin ku. Aiwatar da shi, gane shi, rubuta labarai - Zan karanta shi da sha'awa.

Me yasa ni kaina bana amfani da Mitogen? Saboda gladiolus yana aiki ne kawai muddin ayyukan suna da sauƙi da gaske kuma komai yana da kyau. Duk da haka, idan kun juya kadan zuwa hagu ko dama - shi ke nan, mun isa: a mayar da martani, ɗimbin ɓangarorin da ba a sani ba sun tashi zuwa gare ku, kuma don kammala hoton, duk abin da ya ɓace shine kalmar gama gari "na gode duka. , kowa yana da ‘yanci.” Gabaɗaya, kawai ba na so in ɓata lokaci don gano dalilan "ƙwanƙwasawa ta ƙasa" na gaba.

An gano wasu daga cikin waɗannan saitunan yayin aikin karatun lambar tushe haɗin plugin a ƙarƙashin sunan bayanin kansa "ssh.py". Ina raba sakamakon karatun da fatan cewa zai sa wani ya dubi tushen, karanta su, duba aiwatarwa, kwatanta da takardun - bayan haka, ba dade ko ba dade duk wannan zai kawo muku sakamako mai kyau. Sa'a!

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Wanne daga cikin waɗannan saitunan masu yiwuwa kuke amfani da su don haɓaka ayyukanku?

  • 69,6%bututu = gaskiya32

  • 34,8%taro = wayayye/bayyana16

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

  • 17,4%hanyar canja wuri = piped8

  • 63,0%cokali mai yatsu = XXX29

  • 6,5%Babu ɗayan waɗannan, kawai Mitogen3

  • 8,7%Mitogen + Zan lura da wane daga cikin waɗannan saitunan4

Masu amfani 46 sun kada kuri'a. 21 mai amfani ya ƙi.

Kuna son ƙarin abubuwa game da Mai yiwuwa?

  • 78,3%da, 54

  • 21,7%Ee, Ina son ƙarin abubuwa masu ƙarfi!15

  • 0,0%a'a, kuma ba lallai ba ne don komai0

  • 0,0%a'a, yana da rikitarwa !!!0

Masu amfani 69 sun kada kuri'a. Masu amfani 7 sun kaurace.

source: www.habr.com

Add a comment