Kako instalirati i konfigurirati 'Ansible' alat za automatizaciju za IT upravljanje - 1. dio


Ansible je open source, moćan softver za automatizaciju za konfiguriranje, upravljanje i implementaciju softverskih aplikacija na čvorovima bez zastoja samo korištenjem SSH-a. Danas većina alata za IT automatizaciju radi kao agent na udaljenom hostu, ali ansible-u je potrebna samo SSH veza i Python (2.4 ili noviji) koji će biti instaliran na udaljenim čvorovima kako bi izvršio svoju radnju.

Kako Ansible radi?

Dostupni su mnogi slični alati za automatizaciju poput Puppet, Capistrano, Chef, Salt, Space Walk itd, ali Ansible kategorizira u dvije vrste servera: kontrolne mašine i čvorovi.

Kontrolna mašina, na kojoj je instaliran Ansible, a čvorovima upravlja ova kontrolna mašina preko SSH-a. Lokaciju čvorova određuje kontrolna mašina kroz njen inventar.

Kontrolna mašina (Ansible) postavlja module u čvorove koristeći SSH protokol i ovi moduli se privremeno pohranjuju na udaljenim čvorovima i komuniciraju sa Ansible mašinom preko JSON veze preko standardnog izlaza.

Ansible je bez agenta, što znači da nema potrebe za instalacijom agenta na udaljenim čvorovima, tako da to znači da nema nikakvih pozadinskih demona ili programa koji se izvršavaju za Ansible, kada on ne upravlja nijednim čvorom.

Ansible može upravljati sa 100 čvorova iz jednog sistema preko SSH konekcije i čitava operacija se može rukovati i izvršiti pomoću jedne naredbe 'ansible'. Ali, u nekim slučajevima, gdje ste zahtijevali da izvršite više naredbi za implementaciju, ovdje možemo napraviti playbooks.

Playbooks su gomila naredbi koje mogu izvršiti više zadataka i svaki playbook je u YAML formatu datoteke.

Koja je upotreba Ansiblea

Ansible se može koristiti u IT infrastrukturi za upravljanje i implementaciju softverskih aplikacija na udaljene čvorove. Na primjer, recimo da trebate implementirati jedan softver ili više softvera na 100 čvorova pomoću jedne naredbe, ovdje se pojavljuje ansible, uz pomoć Ansible-a možete implementirati koliko god aplikacija na više čvorova jednom naredbom, ali morate imati malo znanja iz programiranja da biste razumjeli ansible skripte.

Sastavili smo seriju o Ansibleu, pod naslovom „Priprema za implementaciju vaše IT infrastrukture s Ansible IT Automation Tool“, kroz dijelove 1-4 i pokriva sljedeće teme.

U ovom članku ćemo vam pokazati kako instalirati 'Ansible' na RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 i Debian 7/6 sisteme, a također ćemo proći kroz neke osnove o tome kako upravljati server instaliranjem paketa, primjenom ažuriranja i još mnogo toga od osnovnog do profesionalnog.

Preduvjeti

  1. Operativni sistem: RHEL/CentOS/Fedora i Ubuntu/Debian/Linux Mint
  2. Jinja2: Moderan, brz i jednostavan za korištenje samostalni predložak za Python.
  3. PyYAML: YAML parser i emiter za programski jezik Python.
  4. parmiko: izvorna Python SSHv2 biblioteka kanala.
  5. httplib2: Sveobuhvatna biblioteka HTTP klijenta.
  6. sshpass: Neinteraktivna provjera autentičnosti ssh lozinke.

My Environment Setup

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

Korak 1: Instaliranje kontrolne mašine – Ansible

1. Prije instaliranja „Ansible“ na server, prvo provjerimo detalje servera kao što su ime hosta i IP adresa. Prijavite se na server kao root korisnik i izvršite naredbu ispod da potvrdite postavke sistema koje ćemo koristiti za ovo podešavanje.

sudo ifconfig | grep inet

2. Nakon što potvrdite postavke sistema, vrijeme je da instalirate 'Ansible' softver na sistem.

Na Ubuntu/Debian/Linux Mint

Ovdje ćemo koristiti službeno Ansible PPA spremište na sistemu, samo pokrenite donje naredbe da dodate spremište.

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

Na RHEL/CentOS/Fedora

Nažalost, ne postoji službeno Ansible spremište za RedHat bazirane klonove, ali možemo instalirati Ansible tako što ćemo omogućiti epel spremište pod RHEL/CentOS 6, 7 i trenutno podržanim Fedora distribucijama.

Fedora korisnici mogu direktno da instaliraju Ansible preko podrazumevanog spremišta, ali ako koristite RHEL/CentOS 6, 7, morate omogućiti EPEL repo.

Nakon konfigurisanja epel repozitorija, možete instalirati Ansible koristeći sljedeću naredbu.

sudo yum install ansible -y

Nakon uspješne instalacije, možete provjeriti verziju tako što ćete izvršiti donju naredbu.

ansible --version

Korak 2: Priprema SSH ključeva za udaljene hostove

4. Da izvršimo bilo kakvu implementaciju ili upravljanje od lokalnog hosta do udaljenog hosta prvo moramo kreirati i kopirati ssh ključeve na udaljeni host. U svakom udaljenom hostu će postojati korisnički račun tecmint (u vašem slučaju može biti drugačiji korisnik).

Prvo napravimo SSH ključ koristeći donju naredbu i kopiramo ključ na udaljene hostove.

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

5. Nakon uspješnog kreiranja SSH ključa, sada kopirajte kreirani ključ na sva tri udaljena servera.

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

6. Nakon kopiranja svih SSH ključeva na udaljeni host, sada izvršite provjeru autentičnosti ssh ključem na svim udaljenim hostovima da provjerite radi li autentifikacija ili ne.

ssh [email 
ssh [email 
ssh [email