เชธเซเชฅเซ เชฒเซเชเชชเซเชฐเชฟเชฏเชฎเชพเชเชจเซเช เชเช เชฌเชจเซเชฏเซเช . เชชเชเซ 2015 เชฎเชพเช เชธเชเชเซเชฏเชพ เชนเชเชพเชฐเซเชจเซ เชตเชเชพเชตเซ เชเชฏเชพ เช เชจเซ เชเชจเซเชธเชฟเชฌเชฒ เชเชฆเชพเช เชธเซเชฅเซ เชตเชงเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเซ เชเชฎเชพเชตเช เช เชจเซ เชเชฐเซเชเซเชธเซเชเซเชฐเซเชถเชจ เชธเชฟเชธเซเชเชฎ เชฌเชจเซ. เชคเซเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชตเชฟเชถเชพเชณ เชถเซเชฐเซเชฃเซ เชเซเชฌ เชชเซเชฐเชญเชพเชตเชถเชพเชณเซ เชเซ.
เชฐเชฟเชฎเซเช เชฏเชเชฎเชพเชจเซ เชฎเชพเชเซ SSH เชเชจเซเชเซเชถเชจเซเชธ เชชเชฐ เชเชตเชพเชฌเชฆเชพเชฐ เชเชพเชฎ เชเชฐเซ เชเซ. เชคเซ SSH เชธเชคเซเชฐ เชเซเชฒเซ เชเซ, เชฒเซเช เชเชจ เชเชฐเซ เชเซ, เชจเซเชเชตเชฐเซเช เชชเชฐ เชชเชพเชฏเชฅเซเชจ เชเซเชกเชจเซ เชจเชเชฒ เชเชฐเซ เชเซ เช เชจเซ เชคเซเชจเซ เช เชฒเช เช เชธเซเชฅเชพเชฏเซ เชซเชพเชเชฒเชฎเชพเช เชฒเชเซ เชเซ. เชคเซ เชชเชเซ, เชคเซ เช เชซเชพเชเชฒเชจเซ เชฐเชฟเชฎเซเช เชฎเชถเซเชจ เชชเชฐ เชเชฒเชพเชตเซ เชเซ. เชเชพเชฎเชเซเชฐเซเชจเซ เช เชธเชฎเชเซเชฐ เชเซเชฐเชฎ เชเชฃเซ เชฒเชพเชเชฌเซ เช เชจเซ เชเชเชเชพเชณเชพเชเชจเช เชเซ, เชคเซเชฅเซ เชคเซเชจเซ เชเชชเซเชเชฟเชฎเชพเชเช เชเชฐเชตเชพเชจเซ เชตเชฟเชตเชฟเชง เชฐเซเชคเซ เชเซ.
เชเชฎเชพเชเชจเซ เชเช เชฐเซเชค เชเซ เชเซ เชคเชฎเชจเซ เชฆเชฐเซเช เชตเชเชคเซ เชจเชตเซเช เชธเชคเซเชฐ เชเซเชฒเชตเชพเชจเซ เชฌเชฆเชฒเซ เชธเซเชเชจเชพเช เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเช SSH เชธเชคเซเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ, เชเซ เช
เชฎเชพเชฐเซ เชเชฃเซ เชธเชฎเชฏ เชฌเชเชพเชตเซ เชถเชเซ เชเซ. (เชซเชเซเชค เชฌเชเชง เชเชฐเชตเชพเชจเซเช เชฏเชพเชฆ เชฐเชพเชเซ requiretty เชคเชฎเชพเชฐเชพเชฎเชพเช เชธเซเชกเซ เชฎเชพเชเซ เชธเซเชเชฟเชเช /etc/sudoers เชฐเชฟเชฎเซเช เชฎเชถเซเชจ เชชเชฐ เชซเชพเชเชฒ)
เช เชจเซเชธเชฟเชฌเชฒเชจเซ เชเชตเชฐเชเซเชฒเซเช เชเชฐเชตเชพเชจเซ เชจเชตเซ เชฐเซเชค เชชเชพเชฏเชฅเซเชจ เชฒเชพเชเชฌเซเชฐเซเชฐเซ เชเชนเซเชตเชพเชฏ เชเซ . เชเซ เชเซเชเช เชคเซเชจเชพ เชตเชฟเชถเซ เชธเชพเชเชญเชณเซเชฏเซเช เชจ เชนเซเชฏ, เชคเซ เชนเซเช เชคเซเชจเซ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชจเซเช เชเซเชเชเชฎเชพเช เชตเชฐเซเชฃเชจ เชเชฐเซเชถ. เชคเซ เชฐเซเชฎเซเช เชฎเชถเซเชจ เชชเชฐ เชชเชพเชฏเชฅเซเชจ เชเซเชกเชจเชพ เชเชกเชชเซ เช เชฎเชฒเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ, เช เชจเซ เชเชจเซเชธเชฟเชฌเชฒ เช เชเชชเชฏเซเชเชจเซเช เชฎเชพเชคเซเชฐ เชเช เชเชฆเชพเชนเชฐเชฃ เชเซ. เชฎเชฟเชเซเชเซเชจ เชฐเชฟเชฎเซเช เชฎเชถเซเชจ เชชเชฐ UNIX เชชเชพเชเชชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เช เชจเซ zlib เชธเชพเชฅเซ เชธเชเชเซเชเชฟเชค เช เชจเซ เช เชฅเชพเชฃเชพเช เชธเชพเชฅเซ เชธเซเชฐเซเชฏเชฒเชพเชเชเซเชก เชชเชพเชฏเชฅเซเชจ เชเซเชก เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซ เชเซ. เช เชคเซเชจเซ เชเชกเชชเชฅเซ เชชเซเชฐเซเชฃ เชเชฐเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชเซ เช เชจเซ เชเซเชฐเชพเชซเชฟเช เชฌเชเชพเชตเซ เชเซ. เชเซ เชคเชฎเชจเซ เชตเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชธเชฎเชเซเชคเซเชฎเชพเช เชฐเชธ เชนเซเชฏ, เชคเซ เชชเซเชทเซเช เชชเชฐ เชคเซเชจเชพ เชตเชฟเชถเซ เชตเชพเชเชเชตเซเช เชถเซเชฐเซเชทเซเช เชเซ . เชชเชฐเชเชคเซ เชเชเซ เชเชชเชฃเซ เชซเชเซเชค เชเชจเซเชธเชฟเชฌเชฒ เชธเชพเชฅเซ เชชเซเชธเซเชคเชเชพเชฒเชฏ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เชคเซเชจเชพ เชชเชฐ เชงเซเชฏเชพเชจ เชเซเชจเซเชฆเซเชฐเชฟเชค เชเชฐเซเชถเซเช.
เชเซเชเซเชเชธ เชธเชเชเซเชเซเชฎเชพเช Mitogen เชคเชฎเชพเชฐเชพ เชเชตเชพเชฌเซ เชเซเชกเชจเซ เชเชฃเซ เชตเชเชค เชเชกเชชเซ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ เช เชจเซ เชเซเชฐเชพเชซเชฟเช เชตเชชเชฐเชพเชถเชฎเชพเช เชจเซเชเชงเชชเชพเชคเซเชฐ เชเชเชพเชกเซ เชเชฐเซ เชถเชเซ เชเซ. เชเชพเชฒเซ เชธเซเชฅเซ เชตเชงเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชเชชเชฏเซเชเชจเชพ เชเชฟเชธเซเชธเชพเช เชคเชชเชพเชธเซเช เช เชจเซ เชเซเชเช เชเซ เชคเซ เชเชชเชฃเชจเซ เชเซเชเชฒเซ เชฎเชฆเชฆ เชเชฐเซ เชเซ.
เชฐเชฟเชฎเซเช เชฎเชถเซเชจ เชชเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซ เชฌเชจเชพเชตเชตเชพ, เชชเซเชเซเชเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ, เชฐเชฟเชฎเซเช เชฎเชถเซเชจเชฎเชพเช เช เชจเซ เชคเซเชฎเชพเชเชฅเซ เชซเชพเชเชฒเซเชจเซ เชจเชเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชนเซเช เชเชตเชพเชฌเซเชฌเชฒเชจเซ เชธเซเชฅเซ เชตเชงเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช. เชเชฆเชพเช เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เช เชจเซเชฏ เชเชฆเชพเชนเชฐเชฃเซ เชเซ - เชเชฟเชชเซเชชเชฃเซเชเชฎเชพเช เชฒเชเซ.
เชเชพเชฒเซ เชเชเช!
Ansible เชฎเชพเชเซ Mitogen เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเซเชฌ เช เชธเชฐเชณ เชเซ:
เชฎเชฟเชเซเชเซเชจ เชฒเชพเชเชฌเซเชฐเซเชฐเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ:
pip install mitogenเชนเชตเซ เชฌเซ เชธเชฎเชพเชจ เชฐเซเชคเซ เชเซ - เชเชพเช เชคเซ ansible.cfg เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชฎเชพเช เชตเชฟเชเชฒเซเชชเซเชจเซ เชเซเช เชตเซ, เช เชฅเชตเชพ เชเชฐเซเชฐเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซ เชธเซเช เชเชฐเซ.
เชเชพเชฒเซ เชงเชพเชฐเซเช เชเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ เชฎเชฟเชเซเชเชจเชจเซ เชฎเชพเชฐเซเช เชนเชถเซ /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy... เชชเชเซ:
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linearเช เชฅเชตเชพ
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategyเชเชพเชฒเซ Mitogen เชธเชพเชฅเซ เช เชจเซ เชตเชเชฐ เชตเชฐเซเชเซเชฏเซเช เชฒเซเชจเชตเชฎเชพเช Ansible เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเช:
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เชฎเชนเซเชฐเชฌเชพเชจเซ เชเชฐเซเชจเซ เชจเซเชเชง เชเชฐเซ เชเซ Mitogen 0.2.7 เชเชจเซเชธเชฟเชฌเชฒ 2.8 เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ (เชฎเซ 2019 เชฎเซเชเชฌ)
เชเชชเชจเชพเชฎเซ เชฌเชจเชพเชตเชตเซเช:
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'เชนเชตเซ เชเชพเชฒเซ เชเช เชชเซเชฒเซเชฌเซเช เชเชฒเชพเชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเช เชเซ เชฐเซเชฎเซเช เชฎเชถเซเชจ เชชเชฐ เชซเชพเชเชฒเซ เชฌเชจเชพเชตเซ เชเซ:
---
- 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 }}เช เชจเซ เชเชพเชฒเซ เชคเซเชจเซ 10 เชซเชพเชเชฒเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ Mitogen เชธเชพเชฅเซ เช เชจเซ เชตเชเชฐ เชเชฒเชพเชตเซเช:
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เช เชฎเซ 2 เชเชฃเซ เชธเซเชงเชพเชฐเซ เชเซเช เชฐเชนเซเชฏเชพ เชเซเช. เชเชพเชฒเซ 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เชชเชฐเชฟเชฃเชพเชฎเซ, เช
เชฎเซ เช
เชฎเชฒเซเชเชฐเชฃเชจเซ 10 เชเชฃเชพเชฅเซ เชตเชงเซ เชตเซเช เชเชชเซเชฏเซ!
เชนเชตเซ เชเชพเชฒเซ เชตเชฟเชตเชฟเชง เชฆเซเชถเซเชฏเซ เช
เชเชฎเชพเชตเซเช เช
เชจเซ เชเซเชเช เชเซ เชฌเชงเซเช เชเชชเชฃเชพ เชฎเชพเชเซ เชเซเชเชฒเซเช เชเชกเชชเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ:
เชธเซเชฅเชพเชจเชฟเช เชเช (เชฎเซเชกเซเชฏเซเชฒ เชธเชพเชฅเซ
copy):
เชธเชพเชฅเซ เชฐเชฟเชฎเซเช เชนเซเชธเซเช เชชเชฐ เชซเชพเชเชฒเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซเชจเซ เชธเซเชเซเชฐเชฟเชชเซเช
copyเชฎเซเชกเซเชฏเซเชฒ
เชฐเชฟเชฎเซเช เชนเซเชธเซเชเชฅเซ เชธเซเชฅเชพเชจเชฟเชเชฎเชพเช เชซเชพเชเชฒเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชจเซเช เชฆเซเชถเซเชฏ:
เชเชพเชฒเซ เชเชฃเชพ (3) เชฐเชฟเชฎเซเช เชฎเชถเซเชจเซ เชธเชพเชฅเซ เชเช เชฆเซเชถเซเชฏ เช
เชเชฎเชพเชตเซเช, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชฐเชฟเชฎเซเช เชนเซเชธเซเช เชชเชฐ เชซเชพเชเชฒเซเชจเซ เชจเชเชฒ เชเชฐเชตเชพเชจเซเช เชฆเซเชถเซเชฏ:
เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, Mitogen เช เชฆเซเชถเซเชฏเซเชฎเชพเช เชธเชฎเชฏ เช เชจเซ เชเซเชฐเชพเชซเชฟเช เชฌเชเชจเซ เชฌเชเชพเชตเซ เชเซ. เชชเชฐเชเชคเซ เชเซ เช เชกเชเชฃ เชเชจเซเชธเชฟเชฌเชฒเชฎเชพเช เชจ เชนเซเชฏ, เชชเชฐเชเชคเซ เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชกเชฟเชธเซเช เช เชฅเชตเชพ เชจเซเชเชตเชฐเซเชเชจเชพ I/Oเชฎเชพเช เช เชฅเชตเชพ เชฌเซเชเซ เชเซเชฏเชพเชเช เชนเซเชฏ, เชคเซ เช เชชเซเชเซเชทเชพ เชฐเชพเชเชตเซ เชฎเซเชถเซเชเซเชฒ เชเซ เชเซ Mitogen เช เชฎเชจเซ เชฎเชฆเชฆ เชเชฐเชถเซ.
เชเชพเชฒเซ pip เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ yum/dnf เช เชจเซ python เชฎเซเชกเซเชฏเซเชฒเซ เชธเชพเชฅเซ เชชเซเชเซเชเซ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เชธเชพเชฅเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเช. เชชเซเชเซเชเซ เชเซเชถ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ เชเซเชฅเซ เชจเซเชเชตเชฐเซเช เช เชตเชฐเซเชงเซ เชชเชฐ เชจเชฟเชฐเซเชญเชฐ เชจ เชฐเชนเซ:
---
- 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
เชฎเชฟเชเซเชเซเชจ เชธเชพเชฅเซ เชคเซเชจเซ 12 เชธเซเชเชจเซเชกเชจเซ เชธเชฎเชฏ เชฒเชพเชเซเชฏเซ, เชเซเชเชฒเซ เชคเซเชจเชพ เชตเชเชฐ เชฅเชฏเซ.
เชชเซเชทเซเช เชชเชฐ เชคเชฎเซ เช
เชจเซเชฏ เชฌเซเชจเซเชเชฎเชพเชฐเซเช เช
เชจเซ เชชเชฐเซเชเซเชทเชฃเซ เชเซเช เชถเชเซ เชเซ. เชเซเชฎ เชเซ เชชเซเชทเซเช เชเชฃเชพเชตเซ เชเซ:
เชเซเชฏเชพเชฐเซ เชคเซ เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชฎเชฟเชเซเชเชจ เชฎเซเชกเซเชฏเซเชฒเชจเซ เชเชกเชชเซ เชฌเชจเชพเชตเซ เชถเชเชคเซเช เชจเชฅเซ. เชคเซ เชซเชเซเชค เช เชฎเซเชกเซเชฏเซเชฒเชจเชพ เช เชฎเชฒเชจเซ เชถเชเซเชฏ เชคเซเชเชฒเซเช เชเชกเชชเซ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ.
เชคเซเชฅเซ, เชคเชฎเชพเชฐเชพ เชเชฎเชพเชตเชเชฎเชพเช เชคเชฎเชพเชฐเซ เช เชกเชเชฃเซ เชถเซเชงเชตเชพเชจเซเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ เช เชจเซ เชเซ เชคเซ เชเชตเชพเชฌเซ เชเชชเชตเชพเชจเชพ เชเชพเชฐเชฃเซ เชเซ, เชคเซ เชฎเชฟเชเซเชเชจ เชคเชฎเชจเซ เชคเซ เชเชเซเชฒเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชถเซ เช เชจเซ เชคเชฎเชพเชฐเซ เชชเซเชฒเซเชฌเซเชเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชจเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชเชกเชชเซ เชฌเชจเชพเชตเชถเซ.
เชธเซเชฐเซเชธ: www.habr.com
