GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Ansible su Ubuntu 20.04 LTS / 21.04

Ansible è uno strumento di configurazione e automazione IT gratuito e opensource. È disponibile per quasi tutte le distribuzioni Linux e può essere utilizzato per gestire sistemi Linux e Windows. Ora un giorno Ansible viene utilizzato anche per gestire istanze EC2 in AWS, macchine virtuali e container ecc. Non richiede alcun agente su host gestiti, ma richiede solo una connessione ssh.

In questo articolo, tratteremo come installare l'ultima versione di Ansible su Ubuntu 20.04 LTS / 21.04

Requisiti di sistema per Ansible

  • Ubuntu 20.04 LTS / 21.04 con installazione minima
  • utente sudo con privilegi di root
  • 2 CPU/vCPU
  • 2 GB di RAM o più
  • Disco rigido da 20 GB
  • Connessione a Internet (nel caso in cui non si disponga di un server di repository apt configurato in locale)

Di seguito sono riportati i dettagli sulla configurazione del mio laboratorio per una dimostrazione ansible.

  • Nodo di controllo Ansible – control.example.com (192.168.1.112)
  • Nodi gestiti Ansible – node1.example.com e node2.example.com
  • sysops sudo utente su controllo e nodi gestiti con privilegi.

Nota:qui node1 è un sistema Ubuntu e node2 è un sistema CentOS e control node è il sistema in cui installeremo ansible. Presumo che sysops sia già stato creato su ciascun host.

Per configurare l'utente sudo (sysops) per eseguire tutti i comandi senza richiedere la password, eseguire il comando seguente su ciascun host gestito

echo "sysops ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sysops

Passiamo ai passaggi di installazione di Ansible

Passaggio 1) Applica gli aggiornamenti sul nodo di controllo

Accedi al sistema Ubuntu 20.04 LTS / 21.04 ed esegui i seguenti comandi apt per applicare gli aggiornamenti.

$ sudo apt update
$ sudo apt updgrade -y

Una volta installati tutti gli aggiornamenti, riavviare il sistema una volta.

$ sudo reboot

Passaggio 2) Installa le dipendenze e configura Ansible Repository

Installa le dipendenze ansible eseguendo il seguente comando apt,

$ sudo apt install -y software-properties-common

Una volta installate le dipendenze, configura il repository PPA per ansible, esegui

$ sudo add-apt-repository --yes --update ppa:ansible/ansible

Ora aggiorna il repository eseguendo sotto il comando apt.

$ sudo apt update

Passaggio 3) Installa l'ultima versione di ansible

Ora siamo pronti per installare l'ultima versione di Ansible su Ubuntu 20.04 LTS / 21.04, eseguire il comando seguente.

$ sudo apt install -y ansible

Dopo la corretta installazione di Ansible, verificane la versione eseguendo il comando

$ ansible --version

Ottimo, l'output sopra conferma che Ansible versione 2.9.6 è installata.

Passaggio 4) Imposta le chiavi SSH e condividile tra i nodi gestiti

Ora generiamo le chiavi SSH per l'utente sysops dal nodo di controllo e condividiamolo tra gli host gestiti. Esegui il comando ssh-keygen

$ ssh-keygen

Premi invio quando viene richiesto l'input, l'output è mostrato di seguito

Nota:aggiungere le voci dell'host gestito nel file /etc/hosts sul nodo di controllo. Questo è richiesto solo quando non hai configurato il server DNS locale.

192.168.1.115   node1.example.com
192.168.1.120   node2.example.com

Per condividere le chiavi ssh tra il controllo e gli host gestiti, esegui l'esempio del comando ssh-copy-id mostrato di seguito

$ ssh-copy-id node1.example.com
$ ssh-copy-id node2.example.com

L'output dei comandi precedenti apparirà come sotto

Passaggio 5) Crea ansible cfg e file di inventario

Si consiglia sempre di avere ansible.cfg e file di inventario separati per ogni progetto. A scopo dimostrativo sto usando demo come nome del progetto. Quindi, crea prima la cartella del progetto eseguendo il comando mkdir.

$ mkdir demo

Copia il file ansble.cfg predefinito nella cartella ~/demo,

$ cp /etc/ansible/ansible.cfg ~/demo/

Modifica il file ~/demo/ansible.cfg, imposta i seguenti parametri,

$ vi ~/demo/ansible.cfg

Sotto le sezioni predefinite

inventory      = /home/sysops/demo/inventory
remote_user = sysops
host_key_checking = False

Nella sezione privilegi_escalation

become=True
become_method=sudo
become_user=root
become_ask_pass=False

Salva e chiudi il file. Ora creiamo il file di inventario che abbiamo definito nel file ~/demo/ansible.cfg.

$ vi ~/demo/inventory
[dev]
node1.example.com

[prod]
node2.example.com

salva ed esci dal file

Ora finalmente istruisci ansible a utilizzare il file ansible.cfg del progetto demo dichiarando la variabile ANSIBLE_CONFIG, esegui i seguenti comandi,

$ export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg
$ echo "export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg" >> ~/.profile

Esegui il comando ansible –version dalla cartella demo per verificare la configurazione ansible

$ cd demo/
$ ansible --version

Ottimo, Ansible ora sta leggendo il file di configurazione ansible del nostro progetto. Verifichiamo la connettività dei nodi gestiti utilizzando il comando ad-hoc ansible,

$ ansible all -m ping

Nota:assicurati di eseguire il comando ansible dalla cartella demo.

L'output del comando sarebbe simile al seguente:

Questo output conferma che la connettività è attiva dal nodo di controllo agli host gestiti.

Passaggio 6) Crea un playbook Ansible per installare i pacchetti su host gestiti

Per verificare l'installazione e la configurazione ansible, creiamo un playbook di esempio denominato packages.yaml nella cartella demo.

$ vi packages.yaml
---
- name: Playbook to Install Packages
  hosts:
    - dev
    - prod
  tasks:
  - name: Install php and mariadb
    package:
      name:
        - php
        - mariadb-server
      state: present

salva e chiudi il file

Ora esegui il playbook usando il comando ansible-playbook,

$ ansible-playbook packages.yaml

Uscita:

L'output sopra conferma che il playbook è stato eseguito correttamente. Per verificare il risultato, esegui i seguenti comandi ad hoc,

$ ansible dev -m shell -a 'dpkg -l | grep -E "php|mariadb"'
$ ansible prod -m shell -a 'rpm -qa | grep -E "php|mariadb"'

Questa è la conclusione dell'articolo. Se hai trovato questo articolo informativo, non esitare a condividerlo. Nel caso in cui tu abbia qualche domanda, lasciala nelle sezioni dei commenti qui sotto.

Leggi anche :Come utilizzare i gestori in Ansible Playbook


Ubuntu
  1. Come installare Docker su Ubuntu 22.04 / 20.04 LTS

  2. Come installare PlayOnLinux su Ubuntu 20.04 LTS

  3. Come installare MariaDB in Ubuntu 20.04 LTS

  4. Come installare e configurare Ansible su Ubuntu 18.04 LTS

  5. Come installare Ansible su Ubuntu 18.04 LTS

Come installare Ansible su Ubuntu

Come installare Laravel su Ubuntu 20.04 LTS

Come installare Ansible su Ubuntu 20.04 LTS

Come installare Vai su Ubuntu 22.04 LTS

Come installare Vai su Ubuntu 18.04 LTS

Come installare Vai su Ubuntu 20.04 LTS