Ricerca nel sito web

Come installare e configurare lo strumento di automazione "Ansible" per la gestione IT - Parte 1


Ansible è un potente software di automazione open source per la configurazione, la gestione e la distribuzione di applicazioni software sui nodi senza tempi di inattività semplicemente utilizzando SSH. Oggi, la maggior parte degli strumenti di automazione IT viene eseguita come agente in un host remoto, ma ansible necessita solo di una connessione SSH e di Python (2.4 o versione successiva) da installare sui nodi remoti per eseguire la sua azione.

Come funziona Ansible?

Sono disponibili molti strumenti di automazione simili come Puppet, Capistrano, Chef, Salt, Space Walk ecc., Ma Ansible si classifica in due tipi di server: controllo di macchine e nodi.

La macchina di controllo, dove è installato Ansible e i nodi sono gestiti da questa macchina di controllo tramite SSH. La posizione dei nodi viene specificata controllando la macchina attraverso il suo inventario.

La macchina di controllo (Ansible) distribuisce i moduli ai nodi utilizzando il protocollo SSH e questi moduli vengono archiviati temporaneamente su nodi remoti e comunicano con la macchina Ansible tramite una connessione JSON sull'output standard.

Ansible è privo di agenti, ciò significa che non è necessaria l'installazione di alcun agente sui nodi remoti, quindi significa che non ci sono demoni o programmi in background in esecuzione per Ansible, quando non gestisce alcun nodo.

Ansible può gestire centinaia di nodi da un singolo sistema tramite connessione SSH e l'intera operazione può essere gestita ed eseguita da un singolo comando "ansible". Tuttavia, in alcuni casi, in cui è necessario eseguire più comandi per una distribuzione, qui possiamo creare playbook.

I playbook sono un insieme di comandi che possono eseguire più attività e ogni playbook è in formato file YAML.

Qual è l'uso di Ansible

Ansible può essere utilizzato nell'infrastruttura IT per gestire e distribuire applicazioni software su nodi remoti. Ad esempio, supponiamo che tu debba distribuire un singolo software o più software su centinaia di nodi con un singolo comando, qui entra in scena ansible, con l'aiuto di Ansible puoi distribuire tante applicazioni su molti nodi con un singolo comando, ma è necessario avere un po' di conoscenza di programmazione per comprendere gli script ansible.

Abbiamo compilato una serie su Ansible, dal titolo "Preparazione per l'implementazione della tua infrastruttura IT con lo strumento di automazione IT Ansible", attraverso le parti 1-4 e tratta i seguenti argomenti.

In questo articolo, ti mostreremo come installare 'Ansible' sui sistemi RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 e Debian 7/6 e inoltre esamineremo alcune nozioni di base su come gestire un server installando pacchetti, applicando aggiornamenti e molto altro, dal livello base al livello professionale.

Prerequisiti

  1. Sistema operativo: RHEL/CentOS/Fedora e Ubuntu/Debian/Linux Mint
  2. Jinja2: un motore di modelli autonomo moderno, veloce e facile da usare per Python.
  3. PyYAML: un parser ed emettitore YAML per il linguaggio di programmazione Python.
  4. parmiko: una libreria di canali SSHv2 nativa Python.
  5. httplib2: una libreria client HTTP completa.
  6. sshpass: un'autenticazione con password ssh non interattiva.

Configurazione del mio ambiente

Macchina di controllo – Ansible
Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Nodi remoti
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

Passaggio 1: installazione della macchina di controllo – Ansible

1. Prima di installare "Ansible" sul server, verifichiamo innanzitutto i dettagli del server come nome host e indirizzo IP. Accedi al server come utente root ed esegui il comando seguente per confermare le impostazioni di sistema che utilizzeremo per questa configurazione.

sudo ifconfig | grep inet

2. Dopo aver confermato le impostazioni di sistema, è il momento di installare il software "Ansible" sul sistema.

Su Ubuntu/Debian/Linux Mint

Qui utilizzeremo il repository Ansible PPA ufficiale sul sistema, basta eseguire i comandi seguenti per aggiungere il repository.

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

Su RHEL/CentOS/Fedora

Sfortunatamente, non esistono repository Ansible ufficiali per i cloni basati su RedHat, ma possiamo installare Ansible abilitando il repository epel in RHEL/CentOS 6, 7 e le distribuzioni Fedora attualmente supportate.

Gli utenti Fedora possono installare direttamente Ansible tramite il repository predefinito, ma se utilizzi RHEL/CentOS 6, 7, devi abilitare il repository EPEL.

Dopo aver configurato il repository epel, puoi installare Ansible utilizzando il seguente comando.

sudo yum install ansible -y

Dopo aver installato correttamente, è possibile verificare la versione eseguendo il comando seguente.

ansible --version

Passaggio 2: preparazione delle chiavi SSH per gli host remoti

4. Per eseguire qualsiasi distribuzione o gestione dall'host locale all'host remoto, dobbiamo prima creare e copiare le chiavi ssh sull'host remoto. In ogni host remoto ci sarà un account utente tecmint (nel tuo caso potrebbe essere un utente diverso).

Per prima cosa creiamo una chiave SSH utilizzando il comando seguente e copiamo la chiave sugli host remoti.

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

5. Dopo aver creato correttamente la chiave SSH, ora copia la chiave creata su tutti e tre i server remoti.

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

6. Dopo aver copiato tutte le chiavi SSH sull'host remoto, ora esegui un'autenticazione con chiave ssh su tutti gli host remoti per verificare se l'autenticazione funziona o meno.

ssh [email 
ssh [email 
ssh [email