Ansible แแแแพแแแถแแแพแแถแแแแแถแแ SSH แแ แแแถแแแธแแแธแ แแแแถแแ แแถแแพแแแแแ SSH แ แผแ แ แแแแแแผแ Python แแพแแแแแถแ แ แพแแแแแแแแถแแ แฏแแแถแแแแแแแแขแถแแแแแแถแ แแแแแกแแแ แแแแแถแแแแธแแแแแถแแแแพแแแถแแฏแแแถแแแแแแ แแพแแแถแแแธแแแธแ แแแแถแแ แแแแถแแแแถแแแแผแแแแแแแแทแแแแแทแแถแแแแแแบแแแแแแแถแ แแทแแแปแแแแแถแแ แแผแ แแแแแแถแแแทแแธแแแแแแแแพแแแแธแแแแแพแแแแแแทแแแแแถแแแถแ
แแทแแธแแฝแแแแแปแแ
แแแแแแทแแธแแถแแแแแแแบ requiretty
แแถแแแแแแแแแแแถแแ sudo แแ
แแแแปแแแแแแขแแแแ /etc/sudoers
แฏแแแถแแแ
แแพแแแถแแแธแแแธแ
แแแแถแ)
แแทแแธแแแแธแแฝแแแพแแแแธ Overclock Ansible แแบแแถแแแแแถแแแ python แ แ
แแถ
Mitogen แแแแปแแแถแแแแแแแแฝแแ แแแฝแแขแถแ แแแแแพแแแแแฟแแแผแ Ansible แแแแแขแแแแ แแแพแแแ แแทแแแถแแแแแแแแแถแแแแแพแแแแถแแแ แแถแ แแแแแแถแแแแแถแแแ แแแแแทแแทแแแแแพแแแแแธแแแแพแแแแถแแแแแแแแแทแแแแแแปแ แ แพแแแพแแแถแแพแแถแแฝแแแพแแแแแแทแแแถแ
แแแแปแแแแแพ Ansible แแถแแ แแแพแแแแแแถแแแ แแแแแพแแฏแแแถแแแแแแแแ แแถแแแแแแแแแแ แแพแแแถแแแธแแแธแ แแแแถแ แแถแแแแกแพแแแแแ แแ แ แแแแแฏแแแถแแแ แแทแแแธแแแถแแแธแแแธแ แแแแถแแ แแแแ แแแแถแขแแแแแถแแงแแถแ แแแแแแแแแแแ - แแแแแแแ แแแแปแแแแทแแแแแแ
แแแแแ !
แแถแแแแแแแแ
แแถแแแแแแแแ Mitogen แแแแแถแแ Ansible แแบแแถแแแแแแถแแแ
แแแกแพแแแแแแถแแแ Mitogenแ
pip install mitogen
แฅแกแผแแแแแแถแแแทแแธแแแแผแแแธแ - แแแแแแแ แแถแแแแแแแแแแแแแพแแแ แแแแปแแฏแแแถแแแแแแแแ แแถแแแแแแแแ ansible.cfg แฌแแแแแแขแแแแแแทแแแแถแแ แถแแแถแ แแ
แ
แผแแแแแแแแถแแแแผแแแ
แแถแแ Mitogen แแแแแถแแแแกแพแแแนแแแถแ /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
แแแแแแกแพแ Ansible แแแแปแ virtualenv แแแแแถแ แแทแแแแแถแ 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
แแผแแ แแแถแแแถ Mitogen 0.2.7 แแทแแแแแพแแแถแแแถแแฝแ Ansible 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 }}
แ แพแแขแแปแแแแถแแฑแแแแแแพแแแถแแแถแแแแแถแ แแทแแแแแถแ Mitogen แแพแแแแธแแแแแพแแฏแแแถแแ แแแฝแ 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
แแพแแแพแแแถแแแแแแแข 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
แแถแแแแแแ แแพแแแถแแแแแแฟแแแถแแขแแปแแแแแแพแแแธ แกแ แแ!
แฅแกแผแโแแแ แแผแโแแถแแแแแโแแแแถแแธแแแผโแแแแแโแแแแถ แ แพแโแแพแโแแถโแขแแแธโแแแแแโแแแถแโแแแแพแแแถแโแแฟแโแแถแโแแแโแแแแแถแแโแแพแแ
-
แแแแแแธแแแแแแถแแแ แแแแแฏแแแถแแแ แแแถแแแธแแแธแ แแแแถแแแธแแผแแแแแถแแแฝแ (แแถแแฝแแแแผแแปแ
copy
):
-
แแแแแแธแแแแแแถแแแแแแแพแแฏแแแถแแแ แแพแแแถแแแธแแแธแ แแแแถแแแถแแฝแ
copy
แแแผแแปแแ
-
แแแแถแแธแแแผแแถแแฝแแแถแแแถแแแแฏแแแถแแแธแแแถแแแธแแแธแ แแแแถแแแ แแถแแแแแถแแแธแแแฝแแ
แแแแแถแแแแแแแแแถแแธแแแผแแถแแฝแแแแถแแแธแแแธแ
แแแแถแแแถแ
แแแพแ (3) แงแแถแ แแแ แแแแถแแธแแแผแแถแแฝแแแถแแ
แแแแแฏแแแถแแแ
แแแถแแแธแแแธแ
แแแแถแแ
แแผแ แแแแขแแแแขแถแ แแพแ Mitogen แแฝแแแพแแแถแแแแแแแแแถ แแทแแ แแถแ แแแแแ แแแแปแแแแแถแแธแแแผแแถแแแแแแ แแแปแแแแแแแแแทแแแพแแถแแแแแแแทแแแแแทแแแ แแแแปแ Ansible แแแปแแแแแงแแถแ แแแแแ แแแแปแ I/O แแแแธแ แฌแแแแแถแ แฌแแแแแแแแแแแแแแ แแแแแถแแทแแถแแแแแปแแแถแแแแแนแแแถ Mitogen แแนแแแฝแแแพแแ
แแแแแถแแแแแแแแแแแธแแแถแแฝแแแถแแแแกแพแแแแแ แแแแถแแฝแแแแผแแปแ yum/dnf แแทแ python แแแแแแแพ pip แ แแแแ แแแแแแผแแแถแแแปแแแแแปแแแแแถแแแแแแแถแแ แแพแแแแธแแปแแฑแแแแนแแแแขแแแแพแแแแ แถแแแแแถแแ
---
- 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
แแถแแฝแแแนแ Mitogen แแถแ
แแแถแแแแ 12 แแทแแถแแธ แแผแ
แแแแถแแนแแแแแถแแแถแแแแ
แแ
แแพแแแแแ
Mitogen แแทแแขแถแ แแแแแพแแแแแฟแแแแผแแปแแแถแแแแแ แแแแแถแแแแปแแแแแพแแแถแแ แแถแแแแถแแแแแขแถแ แแแแพแฑแแแแถแแแแแแทแแแแแทแแแแแผแแปแแแแแแฟแแแถแแแแแขแถแ แแแแพแแ แแถแแ
แแผแ แแแแ แแถแแถแแฟแแแแแถแแแแแแปแแแถแแแแแแแแแแถแแแถแแแแแแแแแแแขแแแแแ แแแแปแแแถแแแถแแแแแแแถแแแแแแขแแแ แ แพแแแแแแทแแแพแแฝแแแแแพแแกแพแแแแแแถแ Ansible แแแ Mitogen แแนแแแฝแแขแแแแแแแปแแแถแแแแแแแแถแแแถ แแทแแแแแแพแแแแแฟแแแแแพแแแถแแแแแแ แแแแแแแแขแแแแ
แแแแแ: www.habr.com