GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare Ansible su Ubuntu 18.04 LTS

Ansible è un software gratuito e open source che può essere utilizzato per automatizzare il provisioning del software, la gestione della configurazione e la distribuzione delle applicazioni. A differenza di Puppet o Chef, non è necessario configurare un ambiente client-server prima di utilizzare Ansible. Puoi gestire più host da una posizione centrale. Questo strumento è molto semplice ma potente per automatizzare complessi ambienti applicativi IT multilivello. Ansible comunica tramite i normali canali SSH per recuperare informazioni da macchine remote ed eseguire attività.

In questo tutorial impareremo come installare e utilizzare Ansible sul server Ubuntu 18.04.

Requisiti

  • Due sistemi server Ubuntu 18.04 con server OpenSSH installato.
  • Un indirizzo IP statico 192.168.0.101 è impostato sul sistema server e 192.168.0.104 è impostato sul sistema client.
  • Un utente non root con privilegi sudo è impostato su entrambi i sistemi.

Per iniziare

Prima di iniziare, aggiorna il tuo sistema con l'ultima versione con il seguente comando:

sudo apt-get update -y
sudo apt-get upgrade -y

Una volta che il tuo sistema è aggiornato, riavvia il sistema per applicare le modifiche.

Installa e configura Ansible

Per impostazione predefinita, l'ultima versione di Ansible non è disponibile nel repository predefinito di Ubuntu 18.04. Quindi dovrai aggiungere Ansible PPA al tuo server. Puoi farlo eseguendo il seguente comando:

sudo apt-add-repository ppa:ansible/ansible

Quindi, aggiorna il repository e installa Ansible con il seguente comando:

sudo apt-get update -y
sudo apt-get install ansible -y

Una volta completata l'installazione, puoi verificare la versione di Ansible con il seguente comando:

sudo ansible --version

Uscita:

ansible 2.7.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]

Successivamente, dovrai definire il tuo sistema client che desideri gestire nel file hosts di Ansible. Puoi farlo modificando il file /etc/ansible/hosts:

sudo nano /etc/ansible/hosts

Aggiungi le seguenti righe:

[Client]
node1 ansible_ssh_host=192.168.0.104

Salva e chiudi il file, quando hai finito.

Configura le chiavi SSH per il sistema client

Ansible utilizza SSH per comunicare con l'host client. Quindi dovrai configurare l'autenticazione ssh basata su chiave per l'host client.

Innanzitutto, genera una coppia di chiavi SSH con il seguente comando:

ssh-keygen

Uscita:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|        . . .    |
|   .   . . +     |
|    o .     *    |
|   . o   . o o   |
|    . o S o      |
|   O .oo..  .    |
|  * Bo.* + oo    |
| ..oo+=.E =o =   |
|  ooo*++...+*    |
+----[SHA256]-----+

Quindi, copia questa chiave pubblica sul sistema Client con il seguente comando:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Uscita:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Lavorare con Ansible

Ansible è ora installato e configurato. È il momento della prova Ansible.

Sul server Ansible, prova a eseguire il ping del tuo sistema client utilizzando Ansible con il seguente comando.

ansible -m ping Client

Uscita:

node1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

Se nel file hosts di Ansible sono configurati più client. Quindi, puoi eseguire il ping di tutto il sistema Client con il seguente comando:

ansible -m ping all

Puoi controllare lo stato del web server Apache sul sistema Client con il seguente comando:

ansible -m shell -a 'service apache2 status' Client

Uscita:

node1 | CHANGED | rc=0 >>
 * apache2 is running

Per controllare la dimensione della partizione del sistema Client, eseguire il comando seguente:

ansible -m shell -a 'df -h' Client

Uscita:

node1 | CHANGED | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       138G   48G   83G  37% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G  4.0K  1.9G   1% /dev
tmpfs           384M  1.2M  383M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G   67M  1.9G   4% /run/shm
none            100M   36K  100M   1% /run/user
/dev/sda5       225G   35G  180G  16% /Data

Congratulazioni! hai installato e configurato correttamente Ansible sul server Ubuntu 18.04. Ora puoi utilizzare facilmente Ansible per eseguire semplici attività in remoto.


Ubuntu
  1. Come installare e configurare Ansible su Windows

  2. Come installare e configurare Ansible su Ubuntu 20.04

  3. Come installare e configurare Redis su Ubuntu 18.04

  4. Come installare Ansible su Ubuntu 18.04 LTS

  5. Come installare e configurare Fail2ban su Ubuntu 20.04 LTS

Come installare e configurare GitLab CE su Ubuntu 18.04 LTS

Come installare e configurare Docker-CE su Ubuntu 18.04 LTS

Come installare e configurare Odoo ERP su Ubuntu 20.04 LTS

Come installare e configurare MySQL in Ubuntu 20.04 LTS

Come installare e configurare Ansible su Ubuntu

Come installare e configurare il server DNS su Ubuntu 16.04 LTS