በጣም ተወዳጅ ከሆኑት መካከል አንዱ ሆነ . በኋላ በ 2015 ቁጥር በሺዎች አልፏል እና Ansible ምናልባት በጣም ጥቅም ላይ የዋለው የማሰማራት እና የኦርኬስትራ ስርዓት ሊሆን ይችላል። የእሱ ሰፊ አፕሊኬሽኖች በጣም አስደናቂ ናቸው.
ሊቻል የሚችል በኤስኤስኤች ግንኙነቶች ከርቀት አስተናጋጆች ጋር ይሰራል። የኤስኤስኤች ክፍለ ጊዜ ይከፍታል፣ ገብቷል፣ የፓይዘንን ኮድ በአውታረ መረቡ ላይ ገልብጦ ወደተለየ ጊዜያዊ ፋይል ይጽፋል። ከዚያ በኋላ, ይህን ፋይል በሩቅ ማሽኑ ላይ ይሰራል. ይህ አጠቃላይ የክዋኔዎች ቅደም ተከተል በጣም ረጅም እና አድካሚ ነው ፣ ስለሆነም እሱን ለማመቻቸት የተለያዩ መንገዶች አሉ።
ከእነዚህ መንገዶች አንዱ ነው። በእያንዳንዱ ጊዜ አዲስ ክፍለ ጊዜ ከመክፈት ይልቅ መመሪያዎችን ለማስፈጸም አንድ የኤስኤስኤች ክፍለ ጊዜ እንድትጠቀም ይፈቅድልሃል፣ ይህም ብዙ ጊዜ ይቆጥበናል። (ማጥፋትዎን ብቻ ያስታውሱ requiretty በእርስዎ ውስጥ ለ sudo ቅንብር /etc/sudoers በርቀት ማሽኑ ላይ ፋይል ያድርጉ)
ለማለፍ አዲስ መንገድ Ansible የተባለ python ላይብረሪ ነው። . ማንም ሰው ስለ እሱ ያልሰማ ከሆነ, ተግባሩን በአጭሩ እገልጻለሁ. በሩቅ ማሽን ላይ የፒቶን ኮድ በፍጥነት እንዲፈፀም ያስችላል፣ እና Ansible የአጠቃቀም አንዱ ምሳሌ ነው። ሚቶገን የ UNIX ፓይፕ በሩቅ ማሽኑ ላይ ይጠቀማል እና በዚሊብ የተጨመቀ እና ተከታታይነት ያለው የፓይቶን ኮድ ያስተላልፋል። ይህ በፍጥነት ለማጠናቀቅ ይረዳል እና ትራፊክን ይቆጥባል። የበለጠ ዝርዝር ማብራሪያ ከፈለጉ በገጹ ላይ ስለ እሱ ማንበብ ጥሩ ነው . ግን ዛሬ የምናተኩረው ቤተ መፃህፍቱ ከአንሴብል ጋር እንዴት እንደሚሰራ ላይ ብቻ ነው።
Mitogen በአንዳንድ ሁኔታዎች የ Ansible ኮድዎን ብዙ ጊዜ ያፋጥናል እና የትራፊክ ፍጆታን በእጅጉ ይቀንሳል። በጣም ታዋቂ የሆኑትን የአጠቃቀም ጉዳዮችን እንመርምር እና ምን ያህል እንደሚረዳን እንይ።
እኔ ሊቻል የሚችለውን በብዛት እጠቀማለሁ፡ በርቀት ማሽን ላይ የማዋቀሪያ ፋይሎችን መፍጠር፣ ፓኬጆችን መጫን፣ ፋይሎችን ወደ የርቀት ማሽኑ መገልበጥ። ምናልባት ሌሎች ምሳሌዎች ሊኖሩዎት ይችላሉ - በአስተያየቶቹ ውስጥ ይፃፉ.
እንሂድ!
ለ Ansible የሚትገን ውቅር በጣም ቀላል ነው፡-
የMitogen ቤተ-መጽሐፍትን ይጫኑ፡-
pip install mitogenአሁን ሁለት ተመሳሳይ መንገዶች አሉ - በ ansible.cfg ውቅር ፋይል ውስጥ ያሉትን አማራጮች ያዋቅሩ ወይም አስፈላጊዎቹን የአካባቢ ተለዋዋጮች ያዘጋጁ።
ወደ ተጫነው ሚቶገን የሚወስደው መንገድ እንደሚሆን እናስብ /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy. ከዚያም፡-
export ANSIBLE_STRATEGY_PLUGINS=/usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy
export ANSIBLE_STRATEGY=mitogen_linearወይም
[defaults]
strategy = mitogen_linear
strategy_plugins = /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategyሚቶጅንን ያለ እና ያለ ሚቶጅን በምናባዊ ኢንሲቪል እንጫን፡-
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እባክዎን Mitogen 0.2.7 ከAnsible 2.8 (ከግንቦት 2019 ጀምሮ) እንደማይሰራ ልብ ይበሉ።
ተለዋጭ ስሞችን መስራት;
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'አሁን በርቀት ማሽን ላይ ፋይሎችን የሚፈጥር የመጫወቻ መጽሐፍ ለማሄድ እንሞክር፡-
---
- 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 }}እና 10 ፋይሎችን ለመፍጠር ከMitogen ጋር እና ያለሱ እናስኬደው፡
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ባለ 2 እጥፍ መሻሻል እናያለን። 20፣ 30፣...፣ 100 ፋይሎችን እንፈትሽ፡-
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በዚህም ምክንያት አፈፃፀሙን ከ10 ጊዜ በላይ አፋጥን!
አሁን የተለያዩ ሁኔታዎችን እንሞክር እና ሁሉም ነገር ምን ያህል በፍጥነት እንደሚሠራን እንይ፡
ፋይሎችን ከአካባቢያዊ ወደ የርቀት አስተናጋጅ ለመቅዳት ስክሪፕት (ከሞጁሉ ጋር
copy):
በርቀት አስተናጋጅ ላይ ፋይሎችን ለመፍጠር ስክሪፕት
copyሞጁል፡
ፋይሎችን ከርቀት አስተናጋጅ ወደ አካባቢያዊ ከማውረድ ጋር ያለው ሁኔታ፡-
ከብዙ (3) የርቀት ማሽኖች ጋር አንድ ሁኔታን እንሞክር፣ ለምሳሌ ፋይሎችን ወደ የርቀት አስተናጋጅ መቅዳት ያለበት ሁኔታ፡-
እንደሚመለከቱት፣ ሚቶገን በእነዚህ ሁኔታዎች ውስጥ ሁለቱንም ጊዜ እና ትራፊክ ይቆጥብልናል። ነገር ግን ማነቆው በ Ansible ውስጥ ካልሆነ ግን ለምሳሌ በዲስክ ወይም አውታረመረብ I / O ውስጥ ወይም ሌላ ቦታ ላይ ከሆነ ሚቶገን ይረዳናል ብሎ መጠበቅ ከባድ ነው።
ፒፒን በመጠቀም ፓኬጆችን በ yum/dnf እና python ሞጁሎች በመጫን ስክሪፕት እንሞክር። በኔትወርክ ብልሽቶች ላይ ላለመመካት ጥቅሎቹ ተደብቀዋል፡-
---
- 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
በMitogen 12 ሰከንድ ወስዷል፣ ያለ እሱ ተመሳሳይ ነው።
ገጽ ላይ ሌሎች መለኪያዎችን እና ሙከራዎችን መመልከት ይችላሉ. ገጹ እንደሚለው፡-
ሚቶገን ሞጁሉን በሚሰራበት ጊዜ ማፋጠን አይችልም። የዚህን ሞጁል አፈፃፀም በተቻለ ፍጥነት ብቻ ሊያደርገው ይችላል.
ስለዚህ ማነቆዎችዎን በማሰማራትዎ ውስጥ መፈለግ በጣም አስፈላጊ ነው እና በምክንያታዊነት ምክንያት ከሆነ ሚቶገን እነሱን ለመፍታት እና የመጫወቻ ደብተሮችዎን አፈፃፀም በከፍተኛ ሁኔታ ያፋጥናል ።
ምንጭ: hab.com
