Ansible inoshanda pamusoro peSSH yekubatanidza kune varikure mauto. Inovhura chikamu cheSSH, matanda mukati, inokopa iyo Python kodhi pamusoro petiweki uye inonyora kune yakaparadzana yenguva faira. Mushure meizvozvo, inomhanyisa faira iri pamushini uri kure. Uku kutevedzana kwese kwekushanda kwakarebesa uye kunonetesa, saka kune nzira dzakasiyana dzekuita kuti zviwedzere.
Imwe yenzira idzi requiretty
kumisikidza sudo mune yako /etc/sudoers
faira pamushini uri kure)
Nzira itsva yekuwandisa Ansible iraibhurari yepython inonzi
Mitogen mune mamwe mamiriro ezvinhu inogona kukurumidzira yako Ansible kodhi kakawanda uye kuderedza zvakanyanya kushandiswa kwemotokari. Ngationgororei anonyanya kufarirwa makesi ekushandisa uye tione kuti inotibatsira sei.
Ini ndinoshandisa Ansible zvakanyanya kune: kugadzira mafaira ekugadzirisa pamushini uri kure, kuisa mapakeji, kukopa mafaera kuenda nekubva kumuchina uri kure. Zvichida une mimwe mienzaniso - nyora mumashoko.
Ngatitangei!
Mitogen kumisikidza yeAnsible iri nyore kwazvo:
Isa iyo Mitogen raibhurari:
pip install mitogen
Ikozvino pane nzira mbiri dzakafanana - gadzirisa sarudzo mu ansible.cfg configuration file, kana kuseta zvinodiwa nharaunda zvinosiyana.
Ngatifungei kuti nzira yekuiswa Mitogen ichave /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
. Zvadaro:
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linear
kana
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
Ngatiise Ansible mu virtualenv, ine uye isina 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
Ndokumbira utarise kuti Mitogen 0.2.7 haishande neAnsible 2.8 (kubva muna Chivabvu 2019)
Kugadzira mazita:
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'
Zvino ngatiedze kumhanyisa bhuku rekutamba rinogadzira mafaera pamushini uri kure:
---
- 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 }}
Uye ngatimhanye nayo uye isina Mitogen kugadzira gumi mafaera:
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
Tinoona kuvandudzwa kwe2. Ngatitarisei makumi maviri, makumi matatu, ..., zana mafaera:
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
Nekuda kweizvozvo, takawedzera kuuraya nekanopfuura ka10!
Zvino ngatiedzei akasiyana mamiriro uye tione kuti zvinokurumidza sei zvese zvinoshanda kwatiri:
-
Script yekukopa mafaera kumunhu ari kure kubva kune yemunharaunda (ine module
copy
):
-
Script yekugadzira mafaera pane iri kure host ne
copy
module:
-
Mamiriro ekudhawunirodha mafaera kubva kune ari kure anotambira kune yemunharaunda:
Ngatiedzei mamiriro ane akati wandei (3) mashini ari kure, semuenzaniso mamiriro ekukopa mafaera kune ari kure anogamuchira:
Sezvauri kuona, Mitogen inotiponesa tese nguva uye traffic mune izvi zviitiko. Asi kana iyo bhodhoro isiri muAnsible, asi semuenzaniso muI / O ye diski kana network, kana kune imwe nzvimbo, zvino zvakaoma kutarisira kuti Mitogen ichatibatsira.
Ngatiedzei script nekuisa mapakeji ane yum/dnf uye python modules tichishandisa pip. Iwo mapakeji akavharirwa kuitira kuti asatsamira pane network glitches:
---
- 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
NeMitogen zvakatora masekondi gumi nemaviri, zvakafanana neasina.
Pane peji
Mitogen haigone kumhanyisa module kana iri kushanda. Inogona chete kuita kuti kuitwa kweiyi module nekukurumidza sezvinobvira.
Naizvozvo, zvakakosha kuti uwane mabhodhoro ako mukutumirwa kwako uye kana ari nekuda kweAnsible, ipapo Mitogen ichakubatsira iwe kuzvigadzirisa uye nekumhanyisa zvakanyanya kuitiswa kwemabhuku ako ekutamba.
Source: www.habr.com