Kangas - automatiseerige oma Linuxi administreerimisülesandeid ja rakenduste juurutusi SSH kaudu


Kaugmasinate haldamise ja rakenduste juurutamise osas on olemas mitu käsurea tööriista, kuigi paljudel on tavaline probleem üksikasjaliku dokumentatsiooni puudumise tõttu.

Selles juhendis käsitleme samme kangaste kasutamise tutvustamiseks ja alustamiseks serverirühmade haldamise täiustamiseks.

Fabric on pythoni teek ja võimas käsurea tööriist süsteemihalduse ülesannete täitmiseks, näiteks SSH-käskude täitmiseks mitmel masinal ja rakenduse juurutamiseks.

Loe ka: kasutage Shelli skripte Linuxi süsteemihooldusülesannete automatiseerimiseks

Püütoni teadmiste omamine võib olla Fabrici kasutamisel abiks, kuid ei pruugi kindlasti vajalik olla.

Põhjused, miks peaksite riide valima teiste alternatiivide asemel:

  1. Lihtsus
  2. see on hästi dokumenteeritud
  3. Teil pole vaja teist keelt õppida, kui olete juba pythoni tüüp.
  4. Lihtne paigaldada ja kasutada.
  5. See toimib kiiresti.
  6. See toetab paralleelset kaugkäivitust.

Kuidas installida Fabric Automation Tool Linuxi

Kanga oluline omadus on see, et kaugarvutitel, mida peate haldama, peab olema installitud ainult tavaline OpenSSH-server. Enne alustamist peate installima ainult teatud nõuded serverisse, kust haldate kaugservereid.

  1. Python 2.5+ koos arenduspäistega
  2. Pythoni seadistustööriistad ja pip (valikuline, kuid eelistatud) gcc

Kangas on hõlpsasti installitav pipi abil (väga soovitatav), kuid võite valida ka vaikepaketi halduri apt-get kangapaketi installimiseks, mida tavaliselt nimetatakse kangaks või python-kangaks.

RHEL/CentOS-põhiste jaotuste jaoks peab kangapaketi installimiseks olema süsteemis installitud ja lubatud EPEL-hoidla.

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

Debiani ja selle derivaatide, nagu Ubuntu ja Mint, kasutajad saavad kangapaketi installimiseks lihtsalt apt-get:

# apt-get install fabric

Kui soovite installida kanga arendusversiooni, võite pipi abil haarata uusima peaharu.

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

Kui pip on edukalt installitud, võite pipi abil haarata kangast uusima versiooni, nagu näidatud:

# pip install fabric

Kuidas kasutada kangast Linuxi administreerimisülesannete automatiseerimiseks

Alustame siis riide kasutamist. Installiprotsessi käigus lisati teie teekonna kataloogi Pythoni skript nimega fab . Fab-skript teeb kanga kasutamisel kogu töö.

Kokkuleppe kohaselt peate kõigepealt looma oma lemmikredaktori abil Pythoni faili nimega fabfile.py . Pidage meeles, et saate sellele failile anda teise nime, nagu soovite, kuid peate määrama faili tee järgmiselt:

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

Fabric kasutab ülesannete täitmiseks fabfile.py . Fabfile peaks asuma samas kataloogis, kus käivitate tööriista Fabric.

Näide 1: Loogem kõigepealt põhiline Hello World .

# vi fabfile.py

Lisage need koodiread faili.

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

Salvestage fail ja käivitage allolev käsk.

# fab hello

Vaatame nüüd näite fabfile.py-st, et käivitada käitus uptime kohalikus masinas.

Näide 2: avage uus fail fabfile.py järgmiselt:

# vi fabfile.py

Ja kleepige faili järgmised koodiread.

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

Seejärel salvestage fail ja käivitage järgmine käsk:

# fab uptime

Fabrici API kasutab konfiguratsioonisõnastikku, mis on Pythoni ekvivalent assotsiatiivmaatriksile, mida nimetatakse env , mis salvestab väärtused, mis kontrollivad Fabrici tegevust.

env.hosts on loend serveritest, kus soovite Fabrici ülesandeid käivitada. Kui teie võrk on 192.168.0.0 ja soovite hallata hostfaile 192.168.0.2 ja 192.168.0.6 oma failiga, saate env.hosts seadistada järgmiselt:

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

Ülaltoodud koodirida määrab ainult hostid, millel Fabrici ülesandeid käivitate, kuid ei tee midagi muud. Seetõttu saate määratleda mõned ülesanded, Fabric pakub funktsioone, mida saate kasutada kaugmasinatega suhtlemiseks.

Kuigi funktsioone on palju, kasutatakse kõige sagedamini järgmist:

  1. run - mis käitab kaugarvutis shellikäsu.
  2. kohalik - mis käitab käsku kohalikus masinas.
  3. sudo - mis käivitab kaugarvutis shellikäskluse koos juurõigustega.
  4. Hangi - mis laadib ühe või mitu faili alla kaugmasinast.
  5. Pane - mis laadib ühe või mitu faili kaugarvutisse üles.

Näide 3: Sõnumi kordamiseks mitmel masinal looge fabfile.py nagu allpool.

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

Ülesannete täitmiseks käivitage järgmine käsk:

# fab echo

Näide 4: saate parandada varem loodud fabfile.py , et käivitada kohalikus masinas käsk uptime, nii et see käivitab käsu uptime ja kontrollib ka kettakasutust mitme käsu df abil järgmised masinad:

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

Salvestage fail ja käivitage järgmine käsk:

# fab uptime
# fab disk_space

Näide 4: Vaatame LAMP-i (Linux, Apache, MySQL/MariaDB ja PHP) serveri juurutamise näidet Linuxi kaugserverisse.

Kirjutame funktsiooni, mis võimaldab LAMP-i juurõiguste abil kauginstallida.

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

Salvestage fail ja käivitage järgmine käsk:

# fab deploy_lamp

Märkus. Suure väljundi tõttu pole meil selle näite jaoks võimalik luua ekraanikuva (animeeritud gif).

Nüüd saate Fabrici ja selle funktsioonide ning ülaltoodud näidete abil automatiseerida Linuxi serverihalduse ülesandeid ...

  1. Abiteabe ja võimalike käsureavalikute pika loendi vaatamiseks võite käivitada fab –help.
  2. Oluline valik on –fabfile = PATH, mis aitab teil määrata muu pythoni moodulifaili, et importida muu, seejärel fabfile.py.
  3. Kaughostidega ühenduse loomisel kasutatava kasutajanime määramiseks kasutage valikut –user = USER.
  4. Autentimiseks parooli ja/või sudo kasutamiseks kasutage valikut –password = PASSWORD.
  5. Käsu NAME üksikasjaliku teabe printimiseks kasutage valikut –display = NAME.
  6. Vormingute kuvamiseks kasutage valikut –list, valikuid: lühike, tavaline, pesastatud, kasutage valikut –list-format = FORMAT.
  7. Võimalike käskude loendi printimiseks ja väljumiseks lisage valik –list.
  8. Valiku –config = PATH abil saate määrata kasutatava konfiguratsioonifaili asukoha.
  9. Värvilise veaväljundi kuvamiseks kasutage –colorize-errors.
  10. Programmi versiooninumbri vaatamiseks ja väljumiseks kasutage valikut –versioon.

Kokkuvõte

Kangas on võimas tööriist, mis on hästi dokumenteeritud ja pakub algajatele hõlpsat kasutamist. Sellest arusaamiseks saate lugeda täielikku dokumentatsiooni. Kui teil on installimise ja kasutamise käigus tekkinud vigade lisamiseks või lisamiseks lisateavet, võite kommentaari jätta ja leiame võimalused nende parandamiseks.

Viide: kanga dokumentatsioon