Fabric - Gyara Ayyukan Gudanar da Linux ɗinku da Ayyukan Aikace-aikacen Sama da SSH


Idan ya zo ga sarrafa injuna masu nisa da tura aikace-aikace, akwai kayan aikin layin umarni da yawa a can suna wanzuwa ko da yake da yawa suna da matsala gama gari na rashin cikakkun bayanai.

A cikin wannan jagorar, za mu rufe matakan gabatarwa da farawa kan yadda ake amfani da masana'anta don inganta gudanarwar ƙungiyoyin sabar.

Fabric ɗakin karatu ne na Python kuma kayan aikin layin umarni mai ƙarfi don aiwatar da ayyukan gudanarwa na tsarin kamar aiwatar da umarnin SSH akan injuna da yawa da tura aikace-aikace.

Karanta Hakanan: Yi amfani da Rubutun Shell don sarrafa Ayyukan Kula da Tsarin Linux

Samun ilimin aiki na Python na iya zama taimako yayin amfani da Fabric, amma ƙila ba lallai ba ne.

Dalilan da ya sa za ku zaɓi masana'anta fiye da sauran hanyoyin:

  1. Sauƙi
  2. An rubuta shi da kyau
  3. Ba kwa buƙatar koyan wani yare idan kun riga kun kasance mutumin kirki.
  4. mai sauƙin shigarwa da amfani.
  5. Yana da sauri a cikin ayyukansa.
  6. Yana goyan bayan kisa mai nisa a layi daya.

Yadda ake Shigar Kayan Aikin Automation na Fabric a cikin Linux

Muhimmin sifa game da masana'anta shine cewa injunan nesa waɗanda kuke buƙatar gudanarwa kawai suna buƙatar shigar da daidaitaccen uwar garken OpenSSH. Kuna buƙatar wasu buƙatu kawai da aka shigar akan uwar garken wanda kuke gudanar da sabar mai nisa daga gare ku kafin farawa.

  1. Python 2.5+ tare da taken ci gaba
  2. Python-setuptools da pip (na zaɓi, amma an fi so) gcc

Ana iya shigar da masana'anta cikin sauƙi ta amfani da pip (an ba da shawarar sosai), amma kuna iya zaɓar zaɓin mai sarrafa fakitin tsoho wanda ya dace don shigar da fakitin masana'anta, yawanci ana kiransa masana'anta ko python-fabric.

Don tushen RHEL/CentOS, dole ne a shigar da ma'ajiyar EPEL kuma a kunna ku akan tsarin don shigar da fakitin masana'anta.

# yum install fabric   [On RedHat based systems]  
# dnf install fabric   [On Fedora 22+ versions]

Ga Debian kuma abubuwan da suka samo asali kamar Ubuntu da masu amfani da Mint za su iya yin dacewa kawai don shigar da fakitin masana'anta kamar yadda aka nuna:

# apt-get install fabric

Idan kuna son shigar da sigar ci gaba na masana'anta, zaku iya amfani da pip don kama reshen babban reshe na baya-bayan nan.

# yum install python-pip       [On RedHat based systems] 
# dnf install python-pip       [On Fedora 22+ versions]
# apt-get install python-pip   [On Debian based systems]

Da zarar an shigar da pip cikin nasara, zaku iya amfani da pip don ɗaukar sabon sigar masana'anta kamar yadda aka nuna:

# pip install fabric

Yadda ake Amfani da Fabric don sarrafa Ayyukan Gudanar da Linux

Don haka bari mu fara kan yadda zaku iya amfani da Fabric. Yayin aiwatar da shigarwa, an saka rubutun Python mai suna fab zuwa kundin adireshi a hanyarku. Rubutun fab yana yin duk aikin yayin amfani da masana'anta.

Ta al'ada, kuna buƙatar farawa ta ƙirƙirar fayil ɗin Python mai suna fabfile.py ta amfani da editan da kuka fi so. Ka tuna zaku iya ba wa wannan fayil suna daban kamar yadda kuke so amma kuna buƙatar saka hanyar fayil ɗin kamar haka:

# fabric --fabfile /path/to/the/file.py

Fabric yana amfani da fabfile.py don aiwatar da ayyuka. Fabfile ya kamata ya kasance a cikin directory iri ɗaya inda kuke gudanar da kayan aikin Fabric.

Misali 1: Bari mu fara fara ƙirƙirar Hello Duniya.

# vi fabfile.py

Ƙara waɗannan layin lambar a cikin fayil ɗin.

def hello():
       print('Hello world, Tecmint community')

Ajiye fayil ɗin kuma gudanar da umarnin da ke ƙasa.

# fab hello

Yanzu bari mu kalli misalin fabfile.py don aiwatar da umarnin lokacin aiki akan injin gida.

Misali 2: Bude sabon fayil na fabfile.py kamar haka:

# vi fabfile.py

Kuma liƙa waɗannan layukan lambar a cikin fayil ɗin.

#!  /usr/bin/env python
from fabric.api import local
def uptime():
  local('uptime')

Sannan ajiye fayil ɗin kuma gudanar da umarni mai zuwa:

# fab uptime

API ɗin Fabric yana amfani da ƙamus ɗin daidaitawa wanda shine daidai da Python daidai da tsarin haɗin gwiwa wanda aka sani da env, wanda ke adana ƙimar da ke sarrafa abin da Fabric ke yi.

env.hosts jerin sabobin ne da kuke son gudanar da ayyukan Fabric a kansu. Idan cibiyar sadarwar ku ita ce 192.168.0.0 kuma kuna son sarrafa 192.168.0.2 da 192.168.0.6 tare da fabfile ɗin ku, zaku iya saita env.hosts kamar haka:

#!/usr/bin/env python
from  fabric.api import env
env.hosts = [ '192.168.0.2', '192.168.0.6' ]

Layin lambar da ke sama kawai ta ƙididdige runduna waɗanda za ku gudanar da ayyukan Fabric a kansu amma kada ku ƙara yin komai. Don haka zaku iya ayyana wasu ɗawainiya, Fabric yana ba da saitin ayyuka waɗanda zaku iya amfani da su don mu'amala da injunan nesa.

Kodayake akwai ayyuka da yawa, waɗanda aka fi amfani da su sune:

  1. gudu - wanda ke gudanar da umarnin harsashi akan na'ura mai nisa.
  2. na gida - wanda ke gudanar da umarni akan injin gida.
  3. sudo - wanda ke gudanar da umarnin harsashi akan na'ura mai nisa, tare da tushen gata.
  4. Samu - wanda ke zazzage fayiloli ɗaya ko fiye daga na'ura mai nisa.
  5. Sanya - wanda ke loda fayiloli ɗaya ko fiye zuwa na'ura mai nisa.

Misali 3: Don amsa saƙo akan na'urori da yawa ƙirƙiri fabfile.py kamar wanda ke ƙasa.

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def echo():
      run("echo -n 'Hello, you are tuned to Tecmint ' ")

Don aiwatar da ayyukan, gudanar da umarni mai zuwa:

# fab echo

Misali na 4: Kuna iya inganta fabfile.py wanda kuka ƙirƙira a baya don aiwatar da umarnin lokacin aiki akan na'ura ta gida, ta yadda zata gudanar da umarni na lokaci sannan kuma bincika amfani da diski ta amfani da umarnin df akan mahara da yawa. inji kamar haka:

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def uptime():
      run('uptime')
def disk_space():
     run('df -h')

Ajiye fayil ɗin kuma gudanar da umarni mai zuwa:

# fab uptime
# fab disk_space

Misali 4: Bari mu kalli misali don tura uwar garken LAMP (Linux, Apache, MySQL/MariaDB da PHP) akan sabar Linux mai nisa.

Za mu rubuta aikin da zai ba da damar shigar da LAMP ta amfani da gata na tushen.

#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def deploy_lamp():
  run ("yum install -y httpd mariadb-server php php-mysql")
#!/usr/bin/env python
from fabric.api import env, run
env.hosts = ['192.168.0.2','192.168.0.6']
def deploy_lamp():
  sudo("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql")

Ajiye fayil ɗin kuma gudanar da umarni mai zuwa:

# fab deploy_lamp

Lura: Saboda babban fitarwa, ba zai yiwu a gare mu mu ƙirƙiri sikirin allo (gif mai rai) don wannan misalin ba.

Yanzu zaku iya sarrafa ayyukan sarrafa uwar garken Linux ta amfani da Fabric da fasali da misalan da aka bayar a sama…

  1. Zaku iya gudanar da fab-help don duba bayanan taimako da jerin jerin zaɓuɓɓukan layin umarni da ake da su.
  2. Zaɓi mai mahimmanci shine –fabfile=PATH wanda ke taimaka maka ka saka wani fayil ɗin python na daban don shigo da wani sai fabfile.py.
  3. Don saka sunan mai amfani da za a yi amfani da shi lokacin haɗawa da runduna mai nisa, yi amfani da zaɓin –user=USER.
  4. Don amfani da kalmar sirri don tantancewa da/ko sudo, yi amfani da zaɓin –password=PASSWORD.
  5. Don buga cikakken bayani game da umarni NAME, yi amfani da –display=zabin NAME.
  6. Don duba tsari yi amfani da zaɓin -list, zaɓuɓɓuka: gajere, na al'ada, gida, yi amfani da zaɓin -list-format= FORMAT.
  7. Don buga jerin yuwuwar umarni da fita, haɗa da zaɓin -list.
  8. Zaku iya tantance wurin daidaita fayil ɗin don amfani da shi ta amfani da zaɓin –config=PATH.
  9. Don nuna fitowar kurakurai masu launi, yi amfani da - kurakurai masu launi.
  10. Don duba lambar sigar shirin da fita, yi amfani da zaɓin –version.

Takaitawa

Fabric kayan aiki ne mai ƙarfi kuma an rubuta shi da kyau kuma yana ba da sauƙin amfani ga sababbin. Kuna iya karanta cikakkun takaddun don samun ƙarin fahimta game da shi. Idan kuna da kowane bayani don ƙara ko shigar da kowane kurakurai da kuka haɗu da su yayin shigarwa da amfani, zaku iya barin sharhi kuma zamu nemo hanyoyin gyara su.

Magana: Takardun masana'anta