Mitogen เจจเจพเจฒ เจœเจตเจพเจฌเจฆเฉ‡เจน เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจพ

Ansimate เจธเจญ เจชเฉเจฐเจธเจฟเฉฑเจง เจฆเฉ‡ เจ‡เฉฑเจ• เจฌเจฃ เจ—เจฟเจ† เจธเจฟเจธเจŸเจฎ เจธเฉฐเจฐเจšเจจเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ. เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ Red Hat เจฆเฉเจ†เจฐเจพ เจ–เจฐเฉ€เจฆเจฟเจ† เจ—เจฟเจ† เจธเฉ€ 2015 เจตเจฟเฉฑเจš เจจเฉฐเจฌเจฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจญเจพเจ—เฉ€เจฆเจพเจฐ เจนเจœเจผเจพเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ—เจฟเจ† เจ…เจคเฉ‡ เจœเจตเจพเจฌเฉ€ เจธเจผเจพเจ‡เจฆ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจตเจฐเจคเฉ€ เจœเจพเจฃ เจตเจพเจฒเฉ€ เจคเฉˆเจจเจพเจคเฉ€ เจ…เจคเฉ‡ เจ†เจฐเจ•เฉˆเจธเจŸเฉเจฐเฉ‡เจธเจผเจจ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจฌเจฃ เจ—เจˆเฅค เจ‡เจธ เจฆเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจตเจฟเจธเจผเจพเจฒ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจฌเจนเฉเจค เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจนเฉˆเฅค

เจฐเจฟเจฎเฉ‹เจŸ เจนเฉ‹เจธเจŸเจพเจ‚ เจฒเจˆ SSH เจ•เจจเฉˆเจ•เจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจœเจตเจพเจฌเจฆเฉ‡เจน เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• SSH เจธเฉˆเจธเจผเจจ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ, เจฒเฉŒเจ— เจ‡เจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ‰เฉฑเจคเฉ‡ เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจ…เจธเจฅเจพเจˆ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฆเจพ เจนเฉˆเฅค เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจน เจ‡เจธ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฐเจฟเจฎเฉ‹เจŸ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจšเจฒเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเจพ เจ‡เจน เจธเจพเจฐเจพ เจ•เฉเจฐเจฎ เจ•เจพเจซเจผเฉ€ เจฒเฉฐเจฌเจพ เจ…เจคเฉ‡ เจฅเจ•เจพเจตเจŸ เจตเจพเจฒเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจ•เจˆ เจคเจฐเฉ€เจ•เฉ‡ เจนเจจเฅค

เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆ SSH เจชเจพเจˆเจชเจฒเจพเจˆเจจเจพเจ‚ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเจฐ เจตเจพเจฐ เจจเจตเจพเจ‚ เจธเฉˆเจธเจผเจจ เจ–เฉ‹เจฒเฉเจนเจฃ เจฆเฉ€ เจฌเจœเจพเจ, เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• SSH เจธเฉˆเจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจธเจพเจกเจพ เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจฌเจš เจธเจ•เจฆเจพ เจนเฉˆเฅค (เจฌเจธ เจฌเฉฐเจฆ เจ•เจฐเจจเจพ เจฏเจพเจฆ เจฐเฉฑเจ–เฉ‹ requiretty เจคเฉเจนเจพเจกเฉ‡ เจตเจฟเฉฑเจš sudo เจฒเจˆ เจธเฉˆเจŸเจฟเฉฐเจ— /etc/sudoers เจฐเจฟเจฎเฉ‹เจŸ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจซเจพเจˆเจฒ)

Ansible เจจเฉ‚เฉฐ เจ“เจตเจฐเจ•เจฒเฉŒเจ• เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจคเจฐเฉ€เจ•เจพ เจ‡เฉฑเจ• เจชเจพเจˆเจฅเจจ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจนเฉˆ เจฎเจพเจˆเจŸเฉ‹เจœเจจ. เจœเฉ‡ เจ•เจฟเจธเฉ‡ เจจเฉ‡ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจจเจนเฉ€เจ‚ เจธเฉเจฃเจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจพเจ‚เจ—เจพเฅค เจ‡เจน เจ‡เฉฑเจ• เจฐเจฟเจฎเฉ‹เจŸ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจœเจตเจพเจฌเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ€ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจนเฉˆเฅค Mitogen เจฐเจฟเจฎเฉ‹เจŸ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจ‡เฉฑเจ• UNIX เจชเจพเจˆเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ zlib เจจเจพเจฒ เจธเฉฐเจ•เฉเจšเจฟเจค เจ…เจคเฉ‡ เจ…เจšเจพเจฐ เจจเจพเจฒ เจฒเฉœเฉ€เจฌเฉฑเจง เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‡เจธเจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจตเจพเจœเจพเจˆ เจจเฉ‚เฉฐ เจฌเจšเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเจฟเจ†เจ–เจฟเจ† เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจชเฉœเฉเจนเจจเจพ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจนเฉˆ "เจ•เจฟเจฆเจพ เจšเจฒเจฆเจพ". เจชเจฐ เจ…เฉฑเจœ เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจ‡เจธ เจ—เฉฑเจฒ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเจฐเจฟเจค เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ 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 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 }}

เจ…เจคเฉ‡ 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):
    Mitogen เจจเจพเจฒ เจœเจตเจพเจฌเจฆเฉ‡เจน เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจพ

  • เจจเจพเจฒ เจฐเจฟเจฎเฉ‹เจŸ เจนเฉ‹เจธเจŸ 'เจคเฉ‡ เจซเจพเจˆเจฒเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเจ•เฉเจฐเจฟเจชเจŸ copy เจฎเฉ‹เจกเฉ€เจŠเจฒ:
    Mitogen เจจเจพเจฒ เจœเจตเจพเจฌเจฆเฉ‡เจน เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจพ

  • เจ‡เฉฑเจ• เจฐเจฟเจฎเฉ‹เจŸ เจนเฉ‹เจธเจŸ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเจฅเจพเจจเจ• เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจฆเฉเจฐเจฟเจธเจผ:
    Mitogen เจจเจพเจฒ เจœเจตเจพเจฌเจฆเฉ‡เจน เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจพ

เจšเจฒเฉ‹ เจ•เจˆ (3) เจฐเจฟเจฎเฉ‹เจŸ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฆเฉเจฐเจฟเจธเจผ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฐเจฟเจฎเฉ‹เจŸ เจนเฉ‹เจธเจŸ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจฆเจพ เจฆเฉเจฐเจฟเจธเจผ:
Mitogen เจจเจพเจฒ เจœเจตเจพเจฌเจฆเฉ‡เจน เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจพ

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจฎเจพเจˆเจŸเฉ‹เจœเฉ‡เจจ เจ‡เจนเจจเจพเจ‚ เจฆเฉเจฐเจฟเจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจธเจพเจกเจพ เจธเจฎเจพเจ‚ เจ…เจคเฉ‡ เจ†เจตเจพเจœเจพเจˆ เจฆเฉ‹เจตเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจšเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจชเจฐ เจœเฉ‡เจ•เจฐ เจฐเฉเจ•เจพเจตเจŸ เจœเจตเจพเจฌเจฆเฉ‡เจนเฉ€ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจกเจฟเจธเจ• เจœเจพเจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฆเฉ‡ I/O เจตเจฟเฉฑเจš, เจœเจพเจ‚ เจ•เจฟเจคเฉ‡ เจนเฉ‹เจฐ, เจคเจพเจ‚ เจ‡เจน เจ‰เจฎเฉ€เจฆ เจ•เจฐเจจเจพ เจ”เจ–เจพ เจนเฉˆ เจ•เจฟ Mitogen เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ†เจ‰ เจชเจพเจˆเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ 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

Mitogen เจฆเฉ‡ เจจเจพเจฒ เจ‡เจธ เจจเฉ‚เฉฐ 12 เจธเจ•เจฟเฉฐเจŸ เจฒเฉฑเจ—เฉ‡, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚เฅค
เจชเฉ‡เจœ 'เจคเฉ‡ เจœเจตเจพเจฌเจฆเฉ‡เจน เจชเฉฐเจจเฉ‡ เจฒเจˆ เจฎเจพเจˆเจŸเฉ‹เจœเจจ เจคเฉเจธเฉ€เจ‚ เจนเฉ‹เจฐ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉฐเจจเจพ เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ:

เจฎเจพเจˆเจŸเฉ‹เจœเจจ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจœเจฆเฉ‹เจ‚ เจ‡เจน เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจธเจฟเจฐเจซ เจ‡เจธ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจœเจฟเฉฐเจจเฉ€ เจœเจฒเจฆเฉ€ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจฌเจฃเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆ, เจคเฉเจนเจพเจกเฉ€ เจคเฉˆเจจเจพเจคเฉ€ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจฐเฉเจ•เจพเจตเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ‰เจน เจœเจตเจพเจฌเจฆเฉ‡เจน เจฆเฉ‡ เจ•เจพเจฐเจจ เจนเจจ, เจคเจพเจ‚ Mitogen เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจชเจฒเฉ‡เจฌเฉเฉฑเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉ‡เจœเจผเฉ€ เจฒเจฟเจ†เจตเฉ‡เจ—เจพเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹