Ansible è un sistema di gestione della configurazione. La gestione della configurazione consente l'implementazione automatica, la configurazione e la gestione centralizzata delle applicazioni. Ciò è utile se è necessario distribuire l'applicazione su più server senza la necessità di farlo manualmente su tutti i server. È inoltre possibile aggiungere server identici al cluster. Ad esempio, è possibile impostare un bilanciamento del carico / cluster / failover con questo.
Ansible fornisce la gestione della configurazione in modo da poter aggiungere server identici al cluster molto facilmente. Puoi anche eseguire una gestione centralizzata per tutti i tuoi server in un unico posto. Puoi eseguirne uno apt-get update
su tutti i server contemporaneamente!
Personalmente, preferisco Ansible perché fa il lavoro senza dover installare manualmente il software su tutti i tuoi server. Effettua la distribuzione e la gestione tramite SSH. SSH è un supporto standard per la gestione dei server, ma uno svantaggio è che è necessario abilitare SSH. Alcuni potrebbero considerare un rischio per la sicurezza, sebbene Ansible funzioni con chiavi SSH, che sono più sicure.
In questo tutorial vedremo come possiamo installare Ansible su Ubuntu 14.04.
Passaggio 1: installazione di Ansible
Puoi installare Ansible con:
apt-get install ansible
È necessario inserire nel file tutti i server che si desidera gestire con Ansible /etc/ansible/hosts
.
Dovrai commentare tutte le righe. Vai all'ultima riga del hosts
file per creare una categoria. Supponi di avere un cluster di server Web e di database. È possibile creare due categorie separate: web
e db
. Se si desidera apportare una modifica su tutti i server di database, è possibile utilizzare db
come selezione in modo che solo tutti i server di database siano interessati e non altri server come i server Web nella web
categoria.
Esempio:
[web]
localhost ansible_ssh_host=127.0.0.1
web1 ansible_ssh_host=192.168.2.2
web2 ansible_ssh_host=0.0.0.0
[db]
db1 ansible_ssh_host=192.168.2.3
db2 ansible_ssh_host=192.168.2.4
db3 ansible_ssh_host=192.168.2.5
db4 ansible_ssh_host=192.168.2.6
Formato: name ansible_ssh_host=ip
Si noti che se si utilizza Ansible 2.0, la ssh_
parte è stata deprecata. Invece usa ansible_host
.
name
è solo un nome da riferire al tuo server, ip
è l'IP attuale.
Questo dice Ansible che si dispone di 3 server web sugli indirizzi IP 127.0.0.1
, 192.168.2.2
e 0.0.0.0
e 4 server di database sugli indirizzi IP 192.168.2.3-6
.
Passaggio 2: impostazione delle chiavi SSH
Ansible funziona con le chiavi SSH. Se la tua chiave SSH sui nodi non è la stessa del tuo server Ansible, ti darà un errore. Pertanto, è necessario generare una chiave SSH.
ssh-keygen
Ora aggiungi la tua chiave SSH ai tuoi nodi. Se tutti i tuoi nodi sono su Vultr, vai al gestore delle chiavi SSH Vultr e aggiungi la tua chiave pubblica. Si può trovare qui:
cat ~/.ssh/id_rsa.pub
Quindi, durante la distribuzione del server, selezionare la chiave SSH nella sezione "Chiavi SSH".
Passaggio 3: Test di risposta
Per vedere se è possibile eseguire il ping di tutti i server nel hosts
file, è possibile utilizzare il comando seguente:
ansible -m ping all
Ciò conferma se i server sono online o meno.
Puoi anche eseguire un comando:
ansible web -m command -a 'shutdown -h now'
Abbiamo appena eseguito il comando shutdown -h now
su tutti i server della web
categoria.
A questo punto, Ansible è configurato e pronto per l'uso. Sembra piuttosto semplice, vero? Bene, non abbiamo ancora trattato la funzione più potente di Ansible: i playbook. Ulteriori informazioni sui playbook in questo tutorial .