Bidh Ansible ag obair thairis air ceanglaichean SSH ri luchd-aoigheachd iomallach. Bidh e a’ fosgladh seisean SSH, a’ logadh a-steach, a’ dèanamh lethbhreac dhen chòd Python thairis air an lìonra agus ga sgrìobhadh gu faidhle sealach air leth. Às dèidh sin, bidh e a 'ruith am faidhle seo air an inneal iomallach. Tha an sreath iomlan de ghnìomhachd seo gu math fada agus tedious, agus mar sin tha grunn dhòighean ann airson a bharrachadh.
Tha aon de na dòighean sin requiretty
suidheachadh airson sudo nad /etc/sudoers
faidhle air an inneal iomallach)
Is e dòigh ùr air faighinn thairis air Ansible leabharlann python ris an canar
Faodaidh mitogen ann an cuid de shuidheachaidhean do chòd Ansible a luathachadh grunn thursan agus lùghdachadh mòr a thoirt air caitheamh trafaic. Nach toir sinn sùil air na cùisean cleachdaidh as mòr-chòrdte agus faic na tha e gar cuideachadh.
Bidh mi a’ cleachdadh Ansible sa mhòr-chuid airson: cruthachadh fhaidhlichean rèiteachaidh air inneal iomallach, a’ stàladh phasganan, a’ dèanamh lethbhreac de fhaidhlichean gu agus bhon inneal iomallach. Is dòcha gu bheil eisimpleirean eile agad - sgrìobh anns na beachdan.
Leamamaid!
Tha rèiteachadh mitogen airson Ansible gu math sìmplidh:
Stàlaich an leabharlann Mitogen:
pip install mitogen
A-nis tha dà dhòigh co-ionann ann - an dàrna cuid rèiteachadh na roghainnean anns an fhaidhle rèiteachaidh ansible.cfg, no suidhich na caochladairean àrainneachd riatanach.
Gabhamaid ris gum bi an t-slighe chun an Mitogen stàlaichte /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
. An uairsin:
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linear
no
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
Nach stàlaich sinn Ansible ann an virtualenv, le agus às aonais 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
Thoir an aire nach eil Mitogen 0.2.7 ag obair le Ansible 2.8 (bhon Chèitean 2019)
Dèanamh ailias:
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'
A-nis feuchaidh sinn ri leabhar-cluiche a ruith a chruthaicheas faidhlichean air inneal iomallach:
---
- 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 ruithidh sinn e le agus às aonais Mitogen gus 10 faidhlichean a chruthachadh:
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
Tha sinn a’ faicinn leasachadh dà-fhillte. Feuch an dèan sinn sgrùdadh airson 2, 20, ..., 30 faidhle:
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 an sin, luathaich sinn coileanadh còrr is 10 tursan!
A-nis feuchaidh sinn diofar shuidheachaidhean agus faic dè cho luath sa bhios a h-uile dad ag obair dhuinn:
-
Sgriobt airson faidhlichean a chopaigeadh gu òstair iomallach bho fhear ionadail (leis a’ mhodal
copy
):
-
Sgriobt airson faidhlichean a chruthachadh air aoigheachd iomallach le
copy
modal:
-
Scenario le luchdachadh sìos faidhlichean bho òstair iomallach gu fear ionadail:
Feuch sinn suidheachadh le grunn (3) innealan iomallach, mar eisimpleir suidheachadh le bhith a’ dèanamh lethbhreac de fhaidhlichean gu òstair iomallach:
Mar a chì thu, sàbhalaidh Mitogen dhuinn an dà chuid ùine agus trafaic anns na suidheachaidhean sin. Ach mura h-eil am botail ann an Ansible, ach mar eisimpleir ann an I/O diosc no lìonra, no an àiteigin eile, tha e duilich a bhith an dùil gun cuidich Mitogen sinn.
Feuchaidh sinn ri sgriobt le bhith a’ stàladh phasganan le modalan yum/dnf agus python a’ cleachdadh pip. Chaidh na pacaidean a thasgadh gus nach biodh iad an urra ri 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 thug e 12 diogan, an aon rud ri às aonais.
Air an duilleig
Chan urrainn dha Mitogen am modal a luathachadh nuair a bhios e a’ ruith. Chan urrainn dha ach am modal seo a chuir gu bàs cho luath sa ghabhas.
Mar sin, tha e cudromach na botail agad a lorg nad chleachdadh agus ma tha iad mar thoradh air Ansible, an uairsin cuidichidh Mitogen thu gus am fuasgladh agus luathaichidh e coileanadh do leabhraichean-cluiche gu mòr.
Source: www.habr.com