Ansible este folosit pentru a gestiona și administra mai multe servere de pe un computer central. Este un instrument de gestionare a serverelor. Ansible nu are nevoie de nicio configurație pe partea de server ca Chef sau Puppet. Pur și simplu instalați Ansible pe computerul dvs. și gestionați sau administrați serverele prin SSH. Este foarte simplu și ușor de utilizat. În acest articol, am să vă arăt cum să instalați și să utilizați Ansible pe CentOS 8. Așadar, haideți să începem.

Instalarea Ansible:

Ansible este disponibil în depozitul EPEL din CentOS 8. Așadar, puteți instala cu ușurință Ansible pe CentOS 8.

În primul rând, actualizați memoria cache a depozitului de pachete DNF cu următoarea comandă:

$ sudo dnf makecache

Acum, pentru a activa depozitul EPEL, instalați pachetul epel-release cu următoarea comandă:

$ sudo dnf install epel-release

Pentru a confirma instalarea, apăsați Y și apoi apăsați <Întră>.

Pachetul epel-release ar trebui să fie instalat și depozitul EPEL ar trebui să fie activat.

Acum, actualizați din nou memoria cache a depozitului de pachete DNF cu următoarea comandă:

$ sudo dnf makeecache

Acum, instalați Ansible cu următoarea comandă:

$ sudo dnf install ansible

Pentru a confirma instalarea, apăsați Y și apoi apăsați <Întră>.

DNF ar trebui să înceapă să descarce toate pachetele necesare de pe internet.

Este posibil să vi se ceară să acceptați cheia GPG a depozitului EPEL. Apăsați Y și apoi apăsați <Enter> pentru a o accepta.

DNF ar trebui să înceapă să instaleze toate pachetele descărcate.

În acest moment, Ansible ar trebui să fie instalat.

Acum, rulați următoarea comandă:

$ ansible –version

După cum puteți vedea, eu execut Ansible 2.9.3 și funcționează foarte bine.

Configurarea serverelor pentru Ansible:

Pentru a gestiona sau administra serverele cu Ansible, trebuie să aveți un server SSH instalat și în funcțiune pe servere. Portul SSH al serverelor trebuie să fie deschis, iar serverele trebuie să fie accesibile de pe gazda Ansible. Aceasta este singura cerință pentru a utiliza Ansible.

În acest articol, voi utiliza 4 mașini virtuale (VM) (2 VM Ubuntu Server 18.04 LTS și 2 VM Debian 10) pentru a demonstra elementele de bază ale gestionării și administrării de servere Ansible.

Cele 4 VM-uri sunt:

linuxhint-f1a46 – 192.168.20.161
linuxhint-8ee7a – 192.168.20.166
linuxhint-s40 – 192.168.20.166
linuxhint-s40 – 192.168.20.171
linuxhint-s41- 192.168.20.170

Puteți utiliza adresele IP ale serverelor pentru a le gestiona sau administra cu Ansible. De asemenea, puteți folosi și numele DNS ale serverelor.

În acest articol, voi folosi fișierul /etc/hosts pentru rezoluția DNS a adreselor IP ale VM-urilor.

Dacă doriți să urmăriți, deschideți fișierul /etc/hosts cu editorul de text vi după cum urmează:

$ sudo vi /etc/hosts

Acum, adăugați liniile marcate în captura de ecran de mai jos și salvați fișierul.

Acum, generați o cheie SSH pe gazda Ansible CentOS 8 după cum urmează:

$ ssh-keygen

Presați <Enter>.

Presați <Enter>.

Presați <Enter>.

Ceava SSH ar trebui să fie generată.

Acum, trebuie să încărcați cheia SSH pe toate serverele pe care doriți să le gestionați cu Ansible.

Pentru a copia cheia SSH pe vm1.linuxhint.serverul local, rulați următoarea comandă:

$ ssh-copy-id [email protected]

Acum, tastați yes și apoi apăsați <Enter>.

Acum, tastați parola de conectare a vm1.linuxhint.local VM și apăsați <Enter>.

Cheia SSH ar trebui să fie copiată.

Faceți același lucru pentru serverul vm2.linuxhint.local, vm3.linuxhint.local și vm4.linuxhint.local.

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

După ce ați copiat cheia SSH în VM-uri, ar trebui să puteți intra în SSH fără nicio parolă, așa cum puteți vedea în captura de ecran de mai jos.

Acum, rulați următoarea comandă pe fiecare server pentru a permite accesul sudo fără parolă pentru utilizatorul de conectare. Acest lucru este necesar pentru ca Ansible să ruleze orice comandă root.

$ echo „$(whoami) ALL=(ALL) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/$(whoami)

Toate serverele sunt acum pregătite pentru a fi configurate sau gestionate de Ansible.

Utilizarea Ansible:

Ansible păstrează o listă a tuturor gazdelor pe care le gestionează într-un fișier numit fișier de inventar. Fișierul de inventar Ansible este doar un simplu fișier text simplu.

Să creăm mai întâi un nou director de proiect Ansible ~/ansible/, apoi vom crea fișierul nostru de inventar.

$ mkdir ~/ansible

Acum, navigați în directorul ~/ansible.

$ cd ~/ansible

Acum, creați un fișier de inventar Ansible după cum urmează:

$ cd ~/ansible

Acum, creați un fișier de inventar Ansible după cum urmează. Puteți numi acest fișier oricum. Eu îl voi numi hosts.

$ vi hosts

Acum, puteți adăuga serverele dvs. după cum urmează. Aici, opțiunea ansible_user este utilizată pentru a defini utilizatorul pe care Ansible îl va folosi pentru a executa comenzi pe aceste servere. Acesta este, de obicei, utilizatorul de conectare al serverului.

De asemenea, puteți amesteca adresele IP și numele DNS ale serverelor și în fișierul de inventariere.

De asemenea, puteți grupa serverele. Aici, am 2 grupuri, webserver și dbserver.

În grupul webserver, am adăugat serverele vm1 și vm2. În grupul dbserver, am adăugat serverele vm3 și vm4.

După ce fișierul de inventar este creat, puteți utiliza fișierul de inventar folosind opțiunea -i din Ansible.

Puteți lista toate gazdele din fișierul de inventar după cum urmează:

$ ansible -i hosts –list-hosts all

Puteți verifica dacă toate gazdele sunt active după cum urmează:

$ ansible -i hosts –list-hosts -m ping all

După cum puteți vedea, toate gazdele sunt active.

De asemenea, puteți face ping tuturor gazdelor dintr-un singur grup.

$ ansible -i hosts –list-hosts -m ping webserver

Puteți rula comenzi shell folosind Ansible după cum urmează:

$ ansible -i hosts -m shell -a ‘command’ <all|groupName>

De asemenea, puteți rula comenzi shell (cu privilegii sudo) după cum urmează.

$ ansible -i hosts -b –become-method=sudo -m shell -a ‘command’ &lt;all
|groupName&gt;

De exemplu, puteți actualiza memoria cache a depozitului de pachete APT pe gazdele din grupul webserver folosind Ansible după cum urmează:

$ ansible -i hosts -b –become-method=sudo -m shell -a ‘apt update’ webserver

Cum puteți vedea, memoria cache a depozitului de pachete APT este actualizată pentru toate gazdele din grupul webserver.

Să încercăm să instalăm serverul web Apache 2 pe toate gazdele din grupul webserver.

$ ansible -i hosts -b –become-method=sudo -m shell -a
‘apt install -y apache2’ webserver

Apache webserver ar trebui să fie instalat în toate gazdele din grupul webserver.

După cum puteți vedea, serverul web Apache funcționează în toate gazdele din grupul webserver.

$ ansible -i hosts -b –become-method=sudo -m shell -a ‘curl -sI
http://localhost’ webserver

În același mod, puteți executa orice comandă pe toate gazdele din grupul dbserver.

$ ansible -i hosts -m shell -a ‘lsb_release -a’ dbserver

De asemenea, puteți utiliza Ansible Playbook pentru a vă gestiona mai ușor serverele. Ansible Playbook nu face parte din domeniul de aplicare al acestui articol. Citiți documentația Ansible pentru mai multe informații despre Ansible Playbook.

Vă mulțumim că ați citit acest articol.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.