Audums - automatizējiet savus Linux administrēšanas uzdevumus un lietojumprogrammu izvietojumus, izmantojot SSH


Kad runa ir par attālo mašīnu pārvaldību un lietojumprogrammu izvietošanu, pastāv vairāki komandrindas rīki, lai gan daudziem ir kopīga detalizētas dokumentācijas trūkuma problēma.

Šajā ceļvedī mēs aplūkosim darbības, lai ieviestu un sāktu izmantot audumu, lai uzlabotu serveru grupu administrēšanu.

Fabric ir pitona bibliotēka un spēcīgs komandrindas rīks sistēmas administrēšanas uzdevumu veikšanai, piemēram, SSH komandu izpildei vairākās mašīnās un lietojumprogrammu izvietošanai.

Lasiet arī: Izmantojiet Shell skriptu, lai automatizētu Linux sistēmas uzturēšanas uzdevumus

Lietojot Fabric, var būt noderīgas Python darba zināšanas, taču tas noteikti nav vajadzīgs.

Iemesli, kāpēc jums vajadzētu izvēlēties audumu, nevis citas alternatīvas:

  1. Vienkāršība
  2. Tas ir labi dokumentēts
  3. Jums jau nav jāmācās cita valoda, ja jūs jau esat pitona puisis.
  4. Viegli uzstādīt un lietot.
  5. Tas darbojas ātri.
  6. Tas atbalsta paralēlu attālo izpildi.

Kā instalēt auduma automatizācijas rīku Linux

Svarīga auduma īpašība ir tā, ka attālajām mašīnām, kuras jums jāpārvalda, jābūt instalētam tikai standarta OpenSSH serverim. Pirms sākat darbu, jums ir nepieciešamas tikai dažas prasības, kas instalētas serverī, no kura administrējat attālos serverus.

  1. Python 2.5+ ar izstrādes galvenēm
  2. Python-setuptools un pip (pēc izvēles, bet vēlams) gcc

Audums ir viegli uzstādāms, izmantojot pip (ļoti ieteicams), taču varat arī izvēlēties noklusējuma pakotņu pārvaldnieku apt-get, lai instalētu auduma paketi, ko parasti sauc par audumu vai python-audumu.

Lai izplatītu uz RHEL/CentOS bāzes, auduma pakotnes instalēšanai sistēmā jābūt instalētai un iespējotai EPEL krātuvei.

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

Debian un tā atvasinājumi, piemēram, Ubuntu un Mint lietotāji, var vienkārši izdarīt apt-get, lai instalētu auduma paketi, kā parādīts:

# apt-get install fabric

Ja vēlaties instalēt auduma izstrādes versiju, varat izmantot pip, lai greifers jaunāko galveno filiāli.

# 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]

Kad pip ir veiksmīgi instalēts, varat izmantot pip, lai paņemtu jaunāko auduma versiju, kā parādīts:

# pip install fabric

Kā izmantot audumu, lai automatizētu Linux administrēšanas uzdevumus

Sāksim sākt izmantot Audumu. Instalēšanas procesa laikā jūsu ceļa direktorijā tika pievienots Python skripts ar nosaukumu fab . Fab scenārijs veic visu darbu, izmantojot audumu.

Pēc vienošanās vispirms jāsāk ar Python faila izveidi ar nosaukumu fabfile.py , izmantojot iecienīto redaktoru. Atcerieties, ka varat šim failam piešķirt citu nosaukumu, kā vēlaties, bet faila ceļš būs jānorāda šādi:

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

Fabric uzdevumu izpildei izmanto fabfile.py . Fabfilei jābūt tajā pašā direktorijā, kurā palaižat Fabric rīku.

1. piemērs: Vispirms izveidosim pamata Hello World .

# vi fabfile.py

Pievienojiet šīs koda rindas failā.

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

Saglabājiet failu un palaidiet zemāk esošo komandu.

# fab hello

Tagad apskatīsim fabfile.py piemēru, lai izpildītu uptime komandu vietējā mašīnā.

2. piemērs: Atveriet jaunu failu fabfile.py šādi:

# vi fabfile.py

Un ielīmējiet failā šādas koda rindas.

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

Pēc tam saglabājiet failu un palaidiet šādu komandu:

# fab uptime

Fabric API izmanto konfigurācijas vārdnīcu, kas ir Python ekvivalents asociatīvam masīvam, kas pazīstams kā env , kurā tiek saglabātas vērtības, kas kontrolē Fabric darbību.

env.hosts ir serveru saraksts, kuros vēlaties izpildīt Fabric uzdevumus. Ja jūsu tīkls ir 192.168.0.0 un vēlaties pārvaldīt resursdatoru 192.168.0.2 un 192.168.0.6 ar savu failu, env.hosts varat konfigurēt šādi:

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

Iepriekš minētā koda rinda norāda tikai resursdatorus, kuros izpildīsit Fabric uzdevumus, taču nedariet neko vairāk. Tāpēc jūs varat definēt dažus uzdevumus, Fabric nodrošina funkciju kopumu, kuru varat izmantot, lai mijiedarbotos ar attālajām mašīnām.

Lai gan ir daudz funkciju, visbiežāk tiek izmantotas:

  1. palaist - kas attālā datorā izpilda čaulas komandu.
  2. vietējais - kas izpilda komandu vietējā mašīnā.
  3. sudo - kas attālā datorā izpilda čaulas komandu ar root tiesībām.
  4. Iegūt - kas lejupielādē vienu vai vairākus failus no attālās mašīnas.
  5. Put - kas augšupielādē vienu vai vairākus failus attālā mašīnā.

3. piemērs: lai atbalsotu ziņojumu vairākās mašīnās, izveidojiet fabfile.py , piemēram, zemāk redzamo.

#!/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 ' ")

Lai izpildītu uzdevumus, izpildiet šādu komandu:

# fab echo

4. piemērs: Varat uzlabot iepriekš izveidoto fabfile.py , lai izpildītu uptime komandu lokālajā mašīnā, lai tā palaistu komandu uptime un arī pārbaudītu diska lietojumu, izmantojot komandu df vairākos gadījumos. mašīnas:

#!/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')

Saglabājiet failu un izpildiet šādu komandu:

# fab uptime
# fab disk_space

4. piemērs: Apskatīsim piemēru, kā LAMP (Linux, Apache, MySQL/MariaDB un PHP) serveri izvietot attālā Linux serverī.

Mēs uzrakstīsim funkciju, kas ļaus LAMP instalēt attālināti, izmantojot root tiesības.

#!/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")

Saglabājiet failu un izpildiet šādu komandu:

# fab deploy_lamp

Piezīme. Liela apjoma dēļ mums nav iespējams izveidot šī piemēra ekrāna apraidi (animētu gif).

Tagad jūs varat automatizēt Linux servera pārvaldības uzdevumus, izmantojot Fabric un tā funkcijas un iepriekš minētos piemērus.

  1. Varat palaist fab –help, lai skatītu palīdzības informāciju un pieejamo komandrindas opciju garu sarakstu.
  2. Svarīga opcija ir –fabfile = PATH, kas palīdz norādīt citu pitona moduļa failu, lai importētu citu, nevis fabfile.py.
  3. Lai norādītu lietotājvārdu, kas jāizmanto, veidojot savienojumu ar attālajiem resursdatoriem, izmantojiet opciju –user = USER.
  4. Lai autentifikācijai izmantotu paroli un/vai sudo, izmantojiet opciju –password = PASSWORD.
  5. Lai izdrukātu detalizētu informāciju par komandu NAME, izmantojiet opciju –display = NAME.
  6. Lai skatītu formātus, izmantojiet opciju –list, izvēles iespējas: īss, normāls, ligzdots, izmantojiet opciju –list-format = FORMAT.
  7. Lai izdrukātu iespējamo komandu sarakstu un izietu, iekļaujiet opciju –list.
  8. Varat norādīt izmantojamā konfigurācijas faila atrašanās vietu, izmantojot opciju –config = PATH.
  9. Lai parādītu krāsainu kļūdas izvadi, izmantojiet –colorize-kļūdas.
  10. Lai skatītu programmas versijas numuru un izietu, izmantojiet opciju –versija.

Kopsavilkums

Audums ir spēcīgs rīks, un tas ir labi dokumentēts un nodrošina ērtu lietošanu iesācējiem. Lai iegūtu labāku izpratni par to, varat izlasīt pilnu dokumentāciju. Ja jums ir kāda informācija, lai pievienotu kļūdas vai parādītu kļūdas, ar kurām jūs sastopaties instalēšanas un lietošanas laikā, varat atstāt komentāru, un mēs atradīsim veidus, kā tās novērst.

Atsauce: auduma dokumentācija