Oibríonn Ansible thar naisc SSH le hóstach cianda. Osclaíonn sé seisiún SSH, logálann sé isteach, cóipeann sé an cód Python thar an líonra agus scríobhann sé chuig comhad sealadach ar leith é. Tar éis sin, ritheann sé an comhad seo ar an meaisín iargúlta. Tá an seicheamh iomlán oibríochtaí seo sách fada agus tedious, agus mar sin tá bealaí éagsúla ann chun é a bharrfheabhsú.
Is é ceann de na bealaí seo requiretty
socrú le haghaidh sudo i do /etc/sudoers
comhad ar an meaisín cianda)
Bealach nua chun Ansible a overclock ná leabharlann python ar a dtugtar
Is féidir le mitogen i gcúinsí áirithe do chód Ansible a bhrostú arís agus arís eile agus ídiú tráchta a laghdú go suntasach. A ligean ar a sheiceáil amach na cásanna úsáide is coitianta agus a fheiceáil cé mhéad a chuidíonn sé linn.
Úsáidim Ansible an chuid is mó le haghaidh: comhaid cumraíochta a chruthú ar chianmheaisín, pacáistí a shuiteáil, comhaid a chóipeáil chuig agus ón gcian-mheaisín. B'fhéidir go bhfuil samplaí eile agat - scríobh sna tuairimí.
A ligean ar dul!
Tá cumraíocht mitogen le haghaidh Ansible an-simplí:
Suiteáil an leabharlann Mitogen:
pip install mitogen
Anois tá dhá bhealach choibhéiseacha - na roghanna a chumrú sa chomhad cumraíochta ansible.cfg, nó na hathróga timpeallachta is gá a shocrú.
Glacaimid leis go mbeidh an cosán chuig an Mitogen suiteáilte /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
. Ansin:
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linear
nó
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
Suiteáil Ansible i virtualenv, le agus gan 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
Tabhair faoi deara le do thoil nach n-oibríonn Mitogen 0.2.7 le Ansible 2.8 (amhail Bealtaine 2019)
Ailiasanna a dhéanamh:
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'
Anois déanaimis iarracht leabhar súgartha a rith a chruthaíonn comhaid ar mheaisín cianda:
---
- 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 }}
Agus déanaimis é a rith le agus gan Mitogen chun 10 gcomhad a chruthú:
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
Feicimid feabhas faoi dhó. Déanaimis seiceáil le haghaidh 2, 20, ..., 30 comhad:
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
Mar thoradh air sin, chuireamar dlús leis an bhforghníomhú níos mó ná 10 n-uaire!
Anois déanaimis triail a bhaint as cásanna éagsúla agus féach cé chomh tapa agus a oibríonn gach rud dúinn:
-
Script chun comhaid a chóipeáil chuig óstach iargúlta ó cheann áitiúil (leis an modúl
copy
):
-
Script le haghaidh comhaid a chruthú ar óstach cianda le
copy
modúl:
-
Cás le comhaid a íoslódáil ó óstach cianda go ceann áitiúil:
Bainimis triail as cás le roinnt (3) cianmheaisíní, mar shampla cás ina ndéantar comhaid a chóipeáil chuig cianóstach:
Mar a fheiceann tú, sábhálann Mitogen am agus trácht dúinn sna cásanna seo. Ach mura bhfuil an scrogall in Ansible, ach mar shampla i I/O diosca nó líonra, nó áit éigin eile, is deacair a bheith ag súil go gcuideoidh Mitogen linn.
Déanaimis iarracht script le pacáistí a shuiteáil le modúil yum/dnf agus python ag baint úsáide as pip. Cuireadh na pacáistí i dtaisce ionas nach mbeidís ag brath ar glitches líonra:
---
- 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
Le Mitogen thóg sé 12 soicind, mar an gcéanna gan é.
Ar an leathanach
Ní féidir le Mitogen an modúl a bhrostú agus é ag rith. Ní féidir leis ach an modúl seo a chur i gcrích chomh tapa agus is féidir.
Mar sin, tá sé tábhachtach do scrogaill a aimsiú i do imscaradh agus má tá siad mar gheall ar Ansible, ansin cabhróidh Mitogen leat iad a réiteach agus luas suntasach a dhéanamh ar fhorghníomhú do leabhair súgartha.
Foinse: will.com