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


Ansible je moćan automatizirani softver otvorenog koda za konfiguriranje, upravljanje i postavljanje softverskih aplikacija na čvorovima bez zastoja samo pomoću SSH-a. Danas se većina alata za IT automatizaciju izvodi kao agent na udaljenom hostu, ali ansible treba samo SSH vezu i Python (2.4 ili noviji) koji treba instalirati na udaljenim čvorovima kako bi izvršio svoju radnju.

Kako Ansible radi?

Dostupni su mnogi slični alati za automatizaciju kao što su Puppet, Capistrano, Chef, Salt, Space Walk itd., ali Ansible kategorizira u dvije vrste poslužitelja: upravljačke strojeve i čvorove.

Kontrolni stroj, gdje je instaliran Ansible i čvorovima upravlja ovaj kontrolni stroj preko SSH-a. Lokacija čvorova određena je upravljačkim strojem kroz njegov inventar.

Upravljački stroj (Ansible) postavlja module na čvorove pomoću SSH protokola i ti se moduli privremeno pohranjuju na udaljenim čvorovima i komuniciraju s Ansible strojem putem JSON veze preko standardnog izlaza.

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

Ansible može rukovati sa 100 čvorova iz jednog sustava preko SSH veze, a čitavom se operacijom može upravljati i izvršiti jednom jedinom naredbom 'ansible'. No, u nekim slučajevima, gdje je potrebno izvršiti više naredbi za implementaciju, ovdje možemo izraditi priručnike.

Playbooks su hrpa naredbi koje mogu obavljati više zadataka i svaka playbooks je u YAML formatu datoteke.

Čemu služi Ansible

Ansible se može koristiti u IT infrastrukturi za upravljanje i postavljanje 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 ansible dolazi u sliku, uz pomoć Ansiblea možete implementirati onoliko aplikacija na mnogo čvorova jednom jedinom naredbom, ali morate imati malo znanja o programiranju da biste razumjeli anzibilne 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 pokazat ćemo vam kako instalirati 'Ansible' na RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 i Debian 7/6 sustave, a također ćemo proći kroz neke osnove o tome kako upravljati poslužitelj instaliranjem paketa, primjenom ažuriranja i još mnogo toga od osnovnog do profesionalnog.

Preduvjeti

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

Moje postavke okruženja

Upravljački stroj – 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: Instalacija upravljačkog stroja – Ansible

1. Prije instaliranja ‘Ansible’ na poslužitelj, prvo provjerimo detalje poslužitelja kao što su naziv hosta i IP adresa. Prijavite se na poslužitelj kao root korisnik i izvršite donju naredbu za potvrdu postavki sustava koje ćemo koristiti za ovu postavku.

sudo ifconfig | grep inet

2. Nakon što potvrdite svoje postavke sustava, vrijeme je da instalirate softver 'Ansible' na sustav.

Na Ubuntu/Debian/Linux Mint

Ovdje ćemo koristiti službeno Ansible PPA repozitorij na sustavu, samo pokrenite donje naredbe za dodavanje repozitorija.

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žbeni Ansible repozitorij za klonove temeljene na RedHatu, ali Ansible možemo instalirati tako da omogućimo epel repozitorij pod RHEL/CentOS 6, 7 i trenutno podržanim fedora distribucijama.

Korisnici Fedore mogu izravno instalirati Ansible putem zadanog repozitorija, ali ako koristite RHEL/CentOS 6, 7, morate omogućiti EPEL repo.

Nakon konfiguriranja epel repozitorija, možete instalirati Ansible pomoću sljedeće naredbe.

sudo yum install ansible -y

Nakon uspješne instalacije, možete provjeriti verziju izvršavanjem donje naredbe.

ansible --version

Korak 2: Priprema SSH ključeva za udaljena računala

4. Da bismo izvršili bilo kakvu implementaciju ili upravljanje s lokalnog računala na udaljeno računalo, prvo moramo stvoriti i kopirati ssh ključeve na udaljeno računalo. Na svakom udaljenom hostu bit će korisnički račun tecmint (u vašem slučaju to može biti drugi korisnik).

Najprije kreirajmo SSH ključ pomoću donje naredbe i kopirajmo ključ na udaljena računala.

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

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

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 autentifikaciju ssh ključem na svim udaljenim hostovima da provjerite radi li autentifikacija ili ne.

ssh [email 
ssh [email 
ssh [email