Ka mahi a Ansible i runga i nga hononga SSH ki nga kaihautu mamao. Ka whakatuwherahia he waahi SSH, ka takiuru, ka kape i te waehere Python ki runga i te whatunga ka tuhia ki tetahi konae rangitahi motuhake. I muri i tera, ka whakahaerehia e ia tenei konae i runga i te miihini mamao. He roa, he hoha hoki tenei raupapa whakahaere, no reira he maha nga huarahi hei whakapai ake.
Ko tetahi o enei huarahi requiretty
tautuhinga mo sudo i roto i to /etc/sudoers
kōnae i runga i te miihini mamao)
He huarahi hou ki te overclock Ansible he whare pukapuka python e kiia nei
Ko te Mitogen i etahi ahuatanga ka tere ake to Waehere Ansible i nga wa maha me te tino whakaiti i te kohi waka. Kia tirohia nga keehi tino rongonui ka kite i te nui o te awhina i a maatau.
Ka whakamahia e au te nuinga o Ansible mo: te hanga i nga konae whirihoranga i runga miihini mamao, te whakauru i nga kete, te kape i nga konae ki te miihini mamao. Tena pea kei a koe etahi atu tauira - tuhia ki roto i nga korero.
Haere tatou!
He tino ngawari te whirihoranga Mitogen mo Ansible:
Tāutahia te whare pukapuka Mitogen:
pip install mitogen
Inaianei e rua nga huarahi e rite ana - whirihorahia nga whiringa ki te konae whirihoranga ansible.cfg, tautuhia nga taurangi taiao e tika ana.
Me whakaaro ko te huarahi ki te Mitogen kua whakauruhia /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
. Na:
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linear
ranei
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
Me whakauru a Ansible ki virtualenv, me te kore 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
Kia mahara ko Mitogen 0.2.7 kaore e mahi me Ansible 2.8 (mai i Mei 2019)
Te hanga ingoa ingoa:
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'
Inaianei me ngana ki te whakahaere pukapuka takaro e hanga ana i nga konae ki runga miihini 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 }}
A me whakahaere me te kore Mitogen hei hanga i nga konae 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
Ka kite matou i te whakapai ake 2-fold. Kia tirohia mo te 20, 30, ..., 100 nga konae:
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
Ko te mutunga mai, neke atu i te 10 nga wa i whakaterehia ai e matou!
Inaianei me whakamatau i nga ahuatanga rereke ka kite i te tere o nga mahi katoa mo tatou:
-
He tuhinga mo te kape i nga konae ki tetahi kaihautu mamao mai i tetahi rohe (me te kōwae
copy
):
-
Hōtuhi mō te hanga kōnae i runga i te kaihautū mamao me
copy
kōwae:
-
Te ahuatanga me te tango i nga konae mai i te kaihautu mamao ki tetahi rohe:
Kia tamata tatou i tetahi ahuatanga me etahi (3) miihini mamao, hei tauira he ahuatanga ki te kape i nga konae ki tetahi kaihautu mamao:
Ka kite koe, ka tiakina e Mitogen te wa me te hokohoko i enei ahuatanga. Engari ki te kore te pounamu i roto i te Ansible, engari hei tauira i roto i te I/O o te kōpae, te whatunga ranei, i tetahi atu waahi ranei, he uaua ki te tumanako ka awhina a Mitogen ia tatou.
Me whakamatau he tuhinga me te whakauru i nga kohinga me te yum/dnf me nga waahanga python ma te whakamahi i te pip. I keterokihia nga kete kia kore ai e whakawhirinaki ki nga raru whatunga:
---
- 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
Ma te Mitogen he 12 hēkona, he rite tonu ki te kore.
Kei te whaarangi
Kaore e taea e Mitogen te tere ake i te waahanga i te wa e rere ana. Ka taea noa e ia te mahi tere o tenei waahanga.
No reira, he mea nui ki te kimi i o mahunga pounamu i roto i to tukunga me te mea na Ansible, katahi ka awhina a Mitogen i a koe ki te whakaoti me te tere tere te mahi o o pukapuka takaro.
Source: will.com