avea ma se tasi e sili ona lauiloa . Ina ua uma i le 2015 le numera sili atu i le afe ma le Ansible atonu na sili ona faʻaaogaina le faʻaogaina ma le faʻaogaina o faiga. O lona lautele lautele o talosaga e matua faagaeetia lava.
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 lea e mafai ai ona e faʻaogaina se tasi SSH sauniga e faʻatino ai faʻatonuga, nai lo le tatalaina o se sauniga fou i taimi taʻitasi, lea e mafai ona faʻaolaina ai i matou i le tele o taimi. (Ia manatua e tape 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 . Afai e leʻi faʻalogo se tasi i ai, o le a ou faʻamatala faʻapuupuu lona faʻatinoga. E mafai ai ona faʻataunuʻu vave le code python i luga o se masini mamao, ma o le Ansible o se tasi lea o faʻataʻitaʻiga o le faʻaogaina. E fa'aaoga e Mitogen se paipa UNIX i luga o le masini mamao ma fa'afeiloa'i le code python fa'apipi'i i le zlib ma fa'asologa i le piko. E fesoasoani lea e fa'amae'a vave ma fa'asaoina ai felauaiga. Afai e te fiafia i se faʻamatalaga sili atu, e sili le faitau e uiga i ai i luga o le itulau . Ae o le asŠo le a tatou taulai atu i le auala e galue ai le faletusi ma Ansible.
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 mitogenOle 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_linearpoʻo
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategySei 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.10Faamolemole 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.643sMatou 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.197sO 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
copyvaega:
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 mafai ona e vaʻai i isi faʻailoga ma suʻega. E pei ona taʻua e 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
