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 requiretty
kukhazikitsa kwa sudo mu yanu /etc/sudoers
fayilo pamakina akutali)
Njira yatsopano yosinthira Ansible ndi laibulale ya python yotchedwa
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 mitogen
Tsopano 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_linear
kapena
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
Tiyeni 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.10
Chonde 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.643s
Tikuwona 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.197s
Zotsatira 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
copy
gawo:
-
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
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