E galue le Ansible i feso'ota'iga SSH i 'au mamao. E tatalaina se sauniga SSH, ulufale i totonu, kopi le code Python i luga o le upega tafailagi ma tusi i se faila le tumau. A maeʻa lena, e faʻatautaia lenei faila i luga o le masini mamao. O lenei fa'asologa atoa o fa'agaioiga e fai si umi ma fa'alavelave, o lea e tele auala e fa'amalieina ai.
O se tasi o nei auala o le requiretty
seti mo sudo i lau /etc/sudoers
faila i luga ole masini mamao)
O se auala fou e overclock Ansible o se faletusi python e taʻua
Mitogen i nisi tulaga e mafai ona faatelevaveina lau code Ansible i ni nai taimi ma faʻaitiitia ai le faʻaaogaina o feoaiga. Se'i o tatou va'ai i fa'aoga sili ona ta'uta'ua ma va'ai pe fa'apefea ona fesoasoani ia i tatou.
Ou te fa'aoga tele le Ansible mo: fatuina o faila fa'atulagaina i se masini mamao, fa'apipi'i afifi, kopiina o faila i ma mai le masini mamao. Masalo e iai isi au faʻataʻitaʻiga - tusi i faʻamatalaga.
Tatou o!
O le faʻatulagaina o mitogen mo Ansible e matua faigofie lava:
Fa'apipi'i le faletusi Mitogen:
pip install mitogen
Ole taimi nei e lua auala tutusa - pe faʻapipiʻi filifiliga i le faila faʻapipiʻi ansible.cfg, poʻo le setiina o suiga ole siosiomaga talafeagai.
Seʻi tatou manatu o le ala i le Mitogen faʻapipiʻi o le a /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
. Ona:
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linear
poʻo
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
Sei o tatou faʻapipiʻi Ansible i virtualenv, faʻatasi ma le leai o 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
Faamolemole ia matau o le Mitogen 0.2.7 e le galue ma le Ansible 2.8 (e pei o Me 2019)
Faiga igoa igoa:
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'
Sei o tatou taumafai e taʻavale se tusi taʻavale e fatuina faila i luga o se masini mamao:
---
- 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 }}
Ma seʻi o tatou faʻataʻitaʻiina ma aunoa ma Mitogen e fatu ai faila 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
Matou te vaʻai i se faʻaleleia 2-faiga. Sei o tatou siaki mo 20, 30, ..., 100 faila:
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
O se taunuuga, na matou faatelevaveina le faʻataunuʻuina e sili atu i le 10 taimi!
Se'i o tatou fa'ata'ita'i ni fa'aaliga eseese ma va'ai po'o le a le tele vave o mea uma e aoga mo i tatou:
-
Fa'amatalaga mo le kopiina o faila i se tagata talimalo mamao mai se tasi i le lotoifale (faatasi ai ma le module
copy
):
-
Fa'amatalaga mo le fatuina o faila i luga o se talimalo mamao ma
copy
vaega:
-
Fa'ata'ita'iga i le la'uina mai o faila mai se 'au mamao i se fa'apitonu'u:
Se'i o tatou taumafai i se fa'ata'ita'iga fa'atasi ma ni masini mamao (3), mo se fa'ata'ita'iga o se fa'ata'ita'iga i le kopiina o faila i se nofoaga mamao:
E pei ona e vaʻai, Mitogen e faʻasaoina i matou i taimi uma ma fefaʻatauaiga i nei faʻaaliga. Ae afai e le o iai le fagu i Ansible, ae mo se faʻataʻitaʻiga i le I / O o se disk poʻo se fesoʻotaʻiga, poʻo se isi mea, ona faigata lea ona faʻamoemoe o le a fesoasoani mai Mitogen ia i tatou.
Sei o tatou taumafai se tusitusiga ma faʻapipiʻi afifi ma yum/dnf ma python modules faʻaaoga pip. O afifi na teuina ina ia aua neʻi faʻalagolago i fesoʻotaʻiga fesoʻotaʻiga:
---
- 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
Faatasi ai ma Mitogen e 12 sekone, tutusa ma le leai.
I luga o le itulau
E le mafai e Mitogen ona faatelevaveina le module pe a alu. E mafai ona na'o le fa'atinoina o lenei module i le vave e mafai ai.
O le mea lea, e taua le suʻeina o au fagu i lau faʻapipiʻiina ma afai e mafua mai i le Ansible, ona fesoasoani lea o Mitogen ia te oe e foia ma faʻavavevave le faʻatinoina o au tusi taʻaloga.
puna: www.habr.com