Come installare Ansible su CentOS 8

Come installare Ansible su CentOS 8
Ansible è utilizzato per gestire e amministrare più server da un computer centrale. È uno strumento di gestione del server. Ansible non ha bisogno di alcuna configurazione sul lato server come chef o burattino. Basta installare Ansible sul tuo computer e gestire o amministrare i server tramite SSH. È molto semplice e facile da usare. In questo articolo, ti mostrerò come installare e usare Ansible su Centos 8. Quindi iniziamo.

Installazione di Ansible:

Ansible è disponibile nel repository di Epel di CentOS 8. Quindi, puoi facilmente installare Ansible su CentOS 8.

Innanzitutto, aggiorna la cache del repository del pacchetto DNF con il seguente comando:

$ sudo dnf makecache

Ora, per abilitare il repository EPEL, installare il Epel-release pacchetto con il seguente comando:

$ sudo dnf installa epel-release

Per confermare l'installazione, premere Y e poi premere .

Epel-release Il pacchetto deve essere installato e il repository EPEL deve essere abilitato.

Ora aggiorna nuovamente la cache del repository del pacchetto DNF con il seguente comando:

$ sudo dnf makecache

Ora, installa Ansible con il seguente comando:

$ sudo dnf installa ansible

Per confermare l'installazione, premere Y e poi premere .

DNF dovrebbe iniziare a scaricare tutti i pacchetti richiesti da Internet.

Potrebbe essere chiesto di accettare la chiave GPG del repository EPEL. Premere Y e poi premere per accettarlo.

DNF dovrebbe iniziare a installare tutti i pacchetti scaricati.

A questo punto, Ansible dovrebbe essere installato.

Ora, esegui il seguente comando:

$ ansible -Version

Come puoi vedere, sto correndo Ansible 2.9.3 e funziona bene.

Configurazione dei server per Ansible:

Per la gestione o la gestione dei server con Ansible, è necessario avere un server SSH installato ed in esecuzione sui server. La porta SSH dei server deve essere aperta e i server devono essere accessibili dall'host Ansible. Questo è l'unico requisito di usare Ansible.

In questo articolo, userò 4 macchine virtuali (VM) (2 Ubuntu Server 18.04 VMS LTS e 2 Debian 10 VMS) per dimostrare le basi della gestione e dell'amministrazione del server Ansible.

Le 4 VM sono:

Linuxhint -F1A46 - 192.168.20.161
Linuxhint -8ee7a - 192.168.20.166
Linuxhint -S40 - 192.168.20.171
Linuxhint-S41- 192.168.20.170

È possibile utilizzare gli indirizzi IP dei server per gestirli o amministrarli con Ansible. Puoi anche usare i nomi DNS dei server.

In questo articolo, userò il /etc/host File per la risoluzione DNS degli indirizzi IP VMS.

Se vuoi seguire, apri il tuo /etc/host File con Editor di testo VI come segue:

$ sudo vi /etc /host

Ora aggiungi le righe contrassegnate nello screenshot qui sotto e salva il file.

Ora, genera una chiave SSH sul tuo host CentOS 8 come segue:

$ ssh-keygen

Premere .

Premere .

Premere .

La chiave SSH dovrebbe essere generata.

Ora, devi caricare il tasto SSH su tutti i server che si desidera gestire con Ansible.

Per copiare la chiave SSH su VM1.Linuxhint.Locale server, eseguire il seguente comando:

$ ssh-copy-id [email protected]

Ora, digita e poi premere .

Ora, digita la password di accesso del VM1.Linuxhint.Locale VM e premi .

La chiave SSH dovrebbe essere copiata.

Fare la stessa cosa per il VM2.Linuxhint.Locale, VM3.Linuxhint.Locale E VM4.Linuxhint.Locale server.

$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]

Una volta copiato la chiave SSH sulle VM, dovresti essere in grado di SSH senza alcuna password come puoi vedere nello screenshot seguente.

Ora, eseguire il seguente comando su ciascun server per consentire l'accesso sudo senza password per l'utente di accesso. Questo è necessario per l'esecuzione di comandi root.

$ echo "$ (whoami) all = (all) nopasswd: all" | sudo tee /etc /sudoers.d/$ (whoami)

Tutti i server sono ora pronti per essere configurati o gestiti da Ansible.

Usando Ansible:

Ansible mantiene un elenco di tutti gli host che gestisce in un file chiamato inventario. Il file di inventario Ansible è solo un semplice file di testo semplice.

Creiamo una nuova directory del progetto Ansible ~/ansible/ Innanzitutto, quindi creeremo il nostro file di inventario.

$ mkdir ~/ansible

Ora, naviga su ~/ansible directory.

$ cd ~/ansible

Ora, crea un file di inventario Ansible come segue. Puoi chiamare questo file qualsiasi cosa. Lo chiamerò ospiti.

Host $ VI

Ora puoi aggiungere i tuoi server come segue. Qui, ansible_user L'opzione viene utilizzata per definire l'utente che ANSIBE utilizzerà per eseguire comandi su questi server. Di solito è l'utente di accesso del server.

Puoi anche mescolare gli indirizzi IP e i nomi DNS dei server anche nel file di inventario.

Puoi anche raggruppare i server. Qui, ho 2 gruppi, server web E dbserver.

Nel server web gruppo, ho aggiunto VM1 E VM2 server. Nel dbserver gruppo, ho aggiunto VM3 E VM4 server.

Una volta creato il file di inventario, è possibile utilizzare il file di inventario utilizzando il -io Opzione di Ansible.

È possibile elencare tutti gli host dal file di inventario come segue:

$ ansible -i host -list -host tutti

Puoi verificare se tutti gli host sono attivi come segue:

$ ansible -i host -list -host -m ping tutto

Come puoi vedere, tutti gli host sono attivi.

Puoi anche eseguire il ping di tutti gli host in un singolo gruppo.

$ ansible -i host -list -host -m ping weberver

È possibile eseguire comandi shell usando Ansible come segue:

$ ansible -i host -m shell -a 'comando'

Puoi anche eseguire comandi shell (con privilegi sudo) come segue.

$ ansible -i host -b -become -method = sudo -m shell -a 'comando' | GroupName>

Ad esempio, è possibile aggiornare la cache del repository di pacchetti APT su Host in WebServer Group utilizzando Ansible come segue:

$ ansible -i host -b -become -method = sudo -m shell -a 'apt update' Webserver

Come puoi vedere, la cache del repository del pacchetto APT viene aggiornata per tutti gli host in server web gruppo.

Proviamo a installare Apache 2 Web Server su tutti gli host di server web gruppo.

$ ansible -i host -b - -become -method = sudo -m shell -a
Webserver 'Apt Install -y Apache2'

Il server Web Apache deve essere installato in tutti gli host di server web gruppo.

Come puoi vedere, Apache Web Server sta lavorando su tutti gli host in server web gruppo.

$ ansible -i hosts -b -become -method = sudo -m shell -a 'curl -si
http: // localhost 'webserver

Allo stesso modo, puoi eseguire qualsiasi comando su tutti gli host in dbserver gruppo.

$ ansible -i host -m shell -a 'lsb_release -a' dbserver

Puoi anche usare Ansible Playbook per gestire i server più facilmente. Ansible Playbook è fuori dall'ambito di questo articolo. Leggi la documentazione di Ansible per ulteriori informazioni su Ansible Playbook.

Grazie per aver letto questo articolo.