anakhala mmodzi wa otchuka kwambiri . Pambuyo mu 2015 nambala idapitilira masauzande ambiri ndipo Ansible idakhala njira yomwe imagwiritsidwa ntchito kwambiri pakutumizira ndi kuyimba. Ntchito zake zambiri ndizochititsa chidwi kwambiri.
Ansible imagwira ntchito pamalumikizidwe a SSH kupita ku makamu akutali. Imatsegula gawo la SSH, kulowa, kukopera kachidindo ka Python pa intaneti ndikuyilembera ku fayilo yanthawi yochepa. Pambuyo pake, imayendetsa fayiloyi pamakina akutali. Kachitidwe konseku ndi kotalika komanso kotopetsa, kotero pali njira zingapo zowonjezeretsa.
Imodzi mwa njira izi ndi zomwe zimakulolani kugwiritsa ntchito gawo limodzi la SSH kuti mupereke malangizo, m'malo motsegula gawo latsopano nthawi iliyonse, zomwe zingatipulumutse nthawi yambiri. (Ingokumbukirani kuzimitsa requiretty kukhazikitsa kwa sudo mu yanu /etc/sudoers fayilo pamakina akutali)
Njira yatsopano yosinthira Ansible ndi laibulale ya python yotchedwa . Ngati wina sanamvepo, ndikufotokozera mwachidule momwe zimagwirira ntchito. Zimalola kupha msanga kwa code ya python pamakina akutali, ndipo Ansible ndi chitsanzo chimodzi chokha chakugwiritsa ntchito. Mitogen imagwiritsa ntchito chitoliro cha UNIX pamakina akutali ndikusamutsa kachidindo ka python woponderezedwa ndi zlib ndikuyika ndi pickle. Izi zimathandiza kuti amalize mofulumira ndikupulumutsa magalimoto. Ngati mukufuna kufotokozera mwatsatanetsatane, ndi bwino kuwerenga za izo pa tsamba . Koma lero tingoyang'ana momwe laibulale imagwirira ntchito ndi Ansible.
Mitogen nthawi zina imatha kufulumizitsa nambala yanu ya Ansible kangapo ndikuchepetsa kwambiri kugwiritsa ntchito magalimoto. Tiyeni tiwone zomwe zimagwiritsidwa ntchito kwambiri ndikuwona momwe zimatithandizira.
Ndimagwiritsa ntchito Ansible kwambiri: kupanga mafayilo osinthira pamakina akutali, kukhazikitsa mapaketi, kukopera mafayilo kupita ndi kuchokera pamakina akutali. Mwina muli ndi zitsanzo zina - lembani mu ndemanga.
Tiyeni tipite!
Kusintha kwa Mitogen kwa Ansible ndikosavuta:
Ikani laibulale ya Mitogen:
pip install mitogenTsopano pali njira ziwiri zofanana - mwina sinthani zosankha mufayilo yosintha ya ansible.cfg, kapena ikani zosintha zofunikira za chilengedwe.
Tiyerekeze kuti njira yopita ku Mitogen yomwe idakhazikitsidwa idzakhala /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy. Kenako:
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linearkapena
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategyTiyeni tiyike Ansible mu virtualenv, ndi popanda Mitogen:
virtualenv mitogen_ansible
./mitogen_ansible/bin/pip install ansible==2.7.10 mitogen
virtualenv pure_ansible
./pure_ansible/bin/pip install ansible==2.7.10Chonde dziwani kuti Mitogen 0.2.7 sigwira ntchito ndi Ansible 2.8 (kuyambira Meyi 2019)
Kupanga zilembo:
alias pure-ansible-playbook='$(pwd)/pure_ansible/bin/ansible-playbook'
alias mitogen-ansible-playbook='ANSIBLE_STRATEGY_PLUGINS=$(pwd)/mitogen_ansible/lib/python3.7/site-packages/ansible_mitogen/plugins/strategy ANSIBLE_STRATEGY=mitogen_linear $(pwd)/mitogen_ansible/bin/ansible-playbook'Tsopano tiyeni tiyese kuyendetsa buku lamasewera lomwe limapanga mafayilo pamakina akutali:
---
- hosts: all
gather_facts: false
tasks:
- name: Create files with copy content module
copy:
content: |
test file {{ item }}
dest: ~/file_{{ item }}
with_sequence: start=1 end={{ n }}Ndipo tiyeni tiyendetse popanda Mitogen kupanga mafayilo 10:
time mitogen-ansible-playbook file_creation.yml -i hosts -e n=10 &>/dev/null
real 0m2.603s
user 0m1.152s
sys 0m0.096s
time pure-ansible-playbook file_creation.yml -i hosts -e n=10 &>/dev/null
real 0m5.908s
user 0m1.745s
sys 0m0.643sTikuwona kusintha kwa 2. Tiyeni tiwone mafayilo 20, 30, ..., 100:
time pure-ansible-playbook file_creation.yml -i hosts -e n=100 &>/dev/null
real 0m51.775s
user 0m8.039s
sys 0m6.305s
time mitogen-ansible-playbook file_creation.yml -i hosts -e n=100 &>/dev/null
real 0m4.331s
user 0m1.903s
sys 0m0.197sZotsatira zake, tidachulukitsa kupha nthawi zopitilira 10!
Tsopano tiyeni tiyese zochitika zosiyanasiyana ndikuwona momwe zonse zimatigwirira ntchito mwachangu:
Script yokopera mafayilo kwa olandila akutali kuchokera komweko (ndi module
copy):
Script yopangira mafayilo pamtundu wakutali ndi
copygawo:
Nkhani yotsitsa mafayilo kuchokera kwa omwe ali kutali kupita kwawoko:
Tiyeni tiyese chitsanzo chokhala ndi makina angapo (3) akutali, mwachitsanzo zochitika zokopera mafayilo kwa omwe ali kutali:
Monga mukuonera, Mitogen imatipulumutsa nthawi ndi magalimoto pazimenezi. Koma ngati botolo silili mu Ansible, koma mwachitsanzo mu I / O ya disk kapena network, kapena kwinakwake, ndiye kuti n'zovuta kuyembekezera kuti Mitogen idzatithandiza.
Tiyeni tiyese script ndikuyika phukusi ndi yum/dnf ndi python modules pogwiritsa ntchito pip. Maphukusiwo adasungidwa kuti asadalire glitches pamaneti:
---
- hosts: all
gather_facts: false
tasks:
- name: Install packages
become: true
package:
name:
- samba
- httpd
- nano
- ruby
state: present
- name: Install pip modules
become: true
pip:
name:
- pytest-split-tests
- bottle
- pep8
- flask
state: present
Ndi Mitogen zinatenga masekondi 12, mofanana ndi popanda izo.
Patsamba mukhoza kuyang'ana benchmarks ndi mayesero ena. Monga tsamba likunena:
Mitogen sangathe kufulumizitsa gawoli pamene likuyenda. Itha kungopangitsa kuti gawoli lizichita mwachangu momwe mungathere.
Chifukwa chake, ndikofunikira kuti mupeze zopinga zanu pakutumiza kwanu ndipo ngati zili chifukwa cha Ansible, ndiye kuti Mitogen ikuthandizani kuti muwathetse ndikufulumizitsa kwambiri kutulutsa mabuku anu osewerera.
Source: www.habr.com
