Kaip įdiegti ir konfigūruoti IT valdymo automatizavimo įrankį – 1 dalis


Ansible yra atvirojo kodo, galinga automatizavimo programinė įranga, skirta konfigūruoti, valdyti ir diegti programinės įrangos programas mazguose be prastovų naudojant SSH. Šiandien dauguma IT automatizavimo įrankių veikia kaip agentas nuotoliniame pagrindiniame kompiuteryje, tačiau norint atlikti savo veiksmą, tereikia SSH ryšio ir Python (2.4 ar naujesnės versijos), kuris būtų įdiegtas nuotoliniuose mazguose.

Kaip veikia Ansible?

Yra daug panašių automatizavimo įrankių, tokių kaip „Lėlės“, „Capistrano“, „Chef“, „Salt“, „Space Walk“ ir kt., Tačiau „Ansible“ skirstomas į dviejų tipų serverius: valdymo mašinas ir mazgus.

Valdymo mašina, kurioje įdiegta Ansible, o mazgai valdomi šiuo valdymo įrenginiu per SSH. Mazgų vieta nurodoma valdant mašiną per savo inventorių.

Valdymo įrenginys (Ansible) diegia modulius mazguose naudodamas SSH protokolą ir šie moduliai laikinai saugomi nuotoliniuose mazguose ir bendrauja su Ansible mašina per JSON ryšį per standartinę išvestį.

Ansible yra be agento, tai reiškia, kad nereikia diegti jokio agento nuotoliniuose mazguose, tai reiškia, kad nėra jokių foninių demonų ar programų, kurios nevykdo Ansible, kai jis nevaldo jokių mazgų.

Ansible gali valdyti 100 mazgų iš vienos sistemos per SSH ryšį, o visa operacija gali būti tvarkoma ir vykdoma viena komanda „ansible“. Tačiau kai kuriais atvejais, kai reikėjo vykdyti kelias komandas, kad būtų įdiegta, čia galime sukurti žaidimų knygeles.

„Playbooks“ yra komandų, kurios gali atlikti kelias užduotis, krūva, ir kiekviena žaidimų knygelė yra YAML failo formatu.

Kas yra Ansible naudojimas

Galimas gali būti naudojamas IT infrastruktūroje norint valdyti ir diegti programinės įrangos programas nuotoliniuose mazguose. Pavyzdžiui, tarkime, kad jums reikia įdiegti vieną programinę įrangą 100 mazgų naudojant vieną komandą. Čia ansible atsiranda paveikslėlyje, o Ansible pagalba galite įdiegti tiek programų į daugelį mazgų su viena komanda, bet jūs turite turėti šiek tiek programavimo žinių, kad suprastumėte galimus scenarijus.

Sudarėme seriją apie Ansible, kurios pavadinimas „Pasiruošimas diegti jūsų IT infrastruktūrą naudojant Ansible IT automatizavimo įrankį“, kurios 1–4 dalys apima toliau nurodytas temas.

Šiame straipsnyje parodysime, kaip įdiegti „Ansible“ RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 ir Debian 7/6 sistemose, taip pat apžvelgsime pagrindinius, kaip valdyti serverį diegdami paketus, taikydami naujinimus ir dar daugiau – nuo paprasto iki profesionalaus.

Būtinos sąlygos

  1. Operacinė sistema: RHEL/CentOS/Fedora ir Ubuntu/Debian/Linux Mint
  2. Jinja2: modernus, greitas ir paprastas naudoti atskiras Python šablonų variklis.
  3. PyYAML: YAML analizatorius ir siuntėjas, skirtas Python programavimo kalbai.
  4. parmiko: vietinė Python SSHv2 kanalų biblioteka.
  5. httplib2: išsami HTTP kliento biblioteka.
  6. sshpass: neinteraktyvus ssh slaptažodžio autentifikavimas.

Mano aplinkos sąranka

Valdymo mašina – Ansible
Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Nuotoliniai mazgai
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

1 veiksmas: valdymo įrenginio įdiegimas – įmanoma

1. Prieš įdiegdami „Galimas“ serveryje, pirmiausia patikrinkite išsamią serverio informaciją, pvz., pagrindinio kompiuterio pavadinimą ir IP adresą. Prisijunkite prie serverio kaip root naudotojas ir vykdykite toliau pateiktą komandą, kad patvirtintumėte sistemos nustatymus, kuriuos naudosime šiai sąrankai.

sudo ifconfig | grep inet

2. Kai patvirtinsite sistemos nustatymus, laikas sistemoje įdiegti „Ansible“ programinę įrangą.

„Ubuntu“/„Debian“/„Linux Mint“.

Čia mes naudosime oficialią Ansible PPA saugyklą sistemoje, tiesiog paleiskite toliau pateiktas komandas, kad pridėtumėte saugyklą.

sudo apt-add-repository ppa:ansible/ansible -y
sudo apt-get update && sudo apt-get install ansible -y

RHEL/CentOS/Fedora

Deja, nėra oficialios „Ansible“ saugyklos, skirtos „RedHat“ pagrįstiems klonams, tačiau galime įdiegti „Ansible“, įgalinę „epel“ saugyklą pagal RHEL/CentOS 6, 7 ir šiuo metu palaikomus „Fedora“ paskirstymus.

Fedora vartotojai gali tiesiogiai įdiegti Ansible per numatytąją saugyklą, tačiau jei naudojate RHEL/CentOS 6, 7, turite įjungti EPEL repo.

Sukonfigūravę „epel“ saugyklą, galite įdiegti „Ansible“ naudodami šią komandą.

sudo yum install ansible -y

Sėkmingai įdiegę, galite patikrinti versiją vykdydami žemiau esančią komandą.

ansible --version

2 veiksmas: SSH raktų paruošimas nuotoliniams pagrindiniams kompiuteriams

4. Norėdami atlikti bet kokį diegimą ar tvarkymą iš vietinio pagrindinio kompiuterio į nuotolinį pagrindinį kompiuterį, pirmiausia turime sukurti ir nukopijuoti ssh raktus į nuotolinį pagrindinį kompiuterį. Kiekviename nuotoliniame priegloboje bus vartotojo abonementas tecmint (jūsų atveju tai gali būti kitas vartotojas).

Pirmiausia leiskite sukurti SSH raktą naudodami toliau pateiktą komandą ir nukopijuokite raktą į nuotolinius pagrindinius kompiuterius.

ssh-keygen -t rsa -b 4096 -C "[email "

5. Sėkmingai sukūrę SSH raktą, nukopijuokite sukurtą raktą į visus tris nuotolinius serverius.

ssh-copy-id [email 
ssh-copy-id [email 
ssh-copy-id [email 

6. Nukopijavę visus SSH raktus į nuotolinį pagrindinį kompiuterį, dabar atlikite ssh rakto autentifikavimą visose nuotolinėse prieglobose, kad patikrintumėte, ar autentifikavimas veikia, ar ne.

ssh [email 
ssh [email 
ssh [email