GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Ansible su Ubuntu 20.04 LTS

La configurazione e la distribuzione di applicazioni su un singolo server è in genere un'operazione semplice. Tuttavia, in un ambiente IT complesso con più server, questo può essere un compito arduo e dispendioso in termini di tempo. Sviluppato e mantenuto da RedHat, Ansible è uno strumento open source per la configurazione del server e il provisioning del software che semplifica la distribuzione delle applicazioni e la gestione della configurazione. Allevia il peso dei team operativi IT e automatizza la configurazione dei server e l'implementazione delle applicazioni in modo semplice ed efficace.

Rispetto alle sue controparti come chef e puppet, Ansible è lo strumento più utilizzato poiché non richiede un agente per comunicare con host remoti. Ansible sfrutta il protocollo SSH per comunicare con destinazioni remote e, così facendo, le risorse della CPU degli host remoti rimangono inalterate.

Configurazione di Ansible Lab

Per il nostro ambiente di test, abbiamo due nodi:il nodo di controllo in cui verrà installato Ansible e l'host remoto che verrà configurato dal nodo di controllo Ansible:

Nodo di controllo Ansible IP 192.168.2.101 Ubuntu 20.04

Host remoto IP 192.168.2.104 Ubuntu 20.04

Inoltre, assicurati di avere un utente sudo configurato sul nodo di controllo Ansible e che il daemon SSH è in esecuzione su entrambi i nodi.

Senza ulteriori indugi, tocchiamo la base su come installare Ansible su Ubuntu 20.04

Passaggio 1:installa Ansible

Immediatamente, accedi al server master Ansible e installa Ansible come utente sudo come segue.

$ sudo apt install ansible

Questo installa Ansible insieme a una serie di pacchetti Python3 essenziali per l'esecuzione senza problemi di Ansible.

Una volta installato, puoi confermare la versione di Ansible come mostrato.

L'output fornisce alcune informazioni dettagliate. Visualizza la versione di Ansible, in questo caso Ansible 2.9.6, il modulo e il percorso eseguibile di Ansible, nonché la versione Python installata sul tuo sistema.

Il file di configurazione:ansible.cfg – è il file di configurazione di Ansible che si trova in /etc/ansible directory. Le impostazioni determinano il modo in cui Ansible viene eseguito e interagito con i client remoti. Inoltre, la directory contiene un file di inventario chiamato hosts. È qui che vengono definiti gli host remoti o gestiti. Mentre andiamo avanti in questo tutorial, definiremo l'host remoto in questo file di inventario.

Passaggio 2:imposta l'accesso SSH senza password

Il protocollo SSH fornisce due metodi di autenticazione:password e autenticazione con chiave pubblica/privata. Utilizzando le chiavi SSH, imposteremo un metodo di accesso ssh senza password per fornire un modo più sicuro e conveniente di interagire con l'host remoto. Il metodo di accesso SSH senza password fornisce un modo semplice di interagire con l'host poiché non ci verrà richiesto di fornire una password durante l'esecuzione di file di playbook.

Per configurare l'accesso SSH senza password, creeremo prima la coppia di chiavi SSH come mostrato:

$ ssh-keygen

Premi INVIO fino in fondo per accettare i suggerimenti predefiniti.

La coppia di chiavi SSH include una chiave privata e una pubblica. Abbiamo id_rsa che è la chiave privata. Inoltre, abbiamo il id_rsa.pub qual è la chiave pubblica.

Successivamente, copieremo la chiave pubblica sull'host remoto utilizzando l'utente root come utente dell'host remoto.

NOTA

Prima di copiare il file della chiave pubblica ssh, configureremo l'utente remoto nel file di configurazione di Ansible come mostrato.

$ sudo vim /etc/ansible/ansible.cfg

Imposta l'utente remoto su root.

remote_user=root

Salva il file.

Quindi, vai all'host remoto e abilita l'accesso root remoto modificando /etc/ssh/ssh_config file.

$ sudo vim /etc/ssh/ssh_config

Aggiungi la riga sotto

PermitRootLogin yes

Ancora una volta, salva ed esci.

Ora possiamo procedere e copiare la chiave pubblica SSH sull'host remoto come mostrato.

$ ssh-copy-id [email protected]

Se accedi per la prima volta come utente root, riceverai il prompt come mostrato nell'immagine qui sotto. Digita semplicemente "sì" per continuare a connetterti. Dopo aver fornito la password di root dell'host remoto, la chiave SSH verrà aggiunta alla home directory principale.

Per gli accessi successivi, non ti verrà richiesto di fornire una password. Per verificarlo, esci dall'host remoto e prova ad accedere ancora una volta.

$ ssh [email protected]

Questo ti porta automaticamente alla shell dell'host remoto come mostrato.

Perfetto! La nostra configurazione di accesso SSH senza password è completa. Ora creeremo un file di playbook che installerà il server web Apache.

Passaggio 3:aggiungi l'host remoto nel file di configurazione di Ansible

Successivamente, definiremo il nostro host remoto nel file di inventario Ansible che, per impostazione predefinita, è il /etc/ansible/hosts file. Quindi, apri il file.

 $ sudo vim /etc/ansible/hosts

Il file host è strutturato in formato INI. Aggiungeremo l'indirizzo IP del nostro host sotto i server web nome del gruppo.

[webservers]
192.168.2.104

Salva il file di inventario e chiudi. Per verificare gli host definiti nel file di inventario, eseguire:

 $ ansible webservers --list-hosts

In alternativa, per controllare tutti gli host in tutti i gruppi host, eseguire:

 $ ansible all --list-hosts

Ora testeremo la presenza del modulo Ansible Python sull'host remoto.

 $ ansible -m ping webservers

NOTA:

Il ping module non è un comando ping ICMP. È solo un banale test per verificare se il modulo Python3 è installato e la presenza di SSH.

L'output seguente mostra che il comando ha avuto successo. L'output mostra anche l'IP dell'host remoto definito nei server web gruppo. Se hai più host definiti in più gruppi, usa tutti opzione.

 $ ansible -m ping all

Passaggio 4:crea un file playbook per configurare l'host remoto

Con l'host remoto definito, creeremo ora un file di playbook per installare il server web Apache. Un file playbook è un file YAML in Ansible che stabilisce le attività da svolgere nell'host remoto.

 $ sudo vim /etc/ansible/apache.yml

Il file del playbook è definito di seguito. Si noti che il file inizia con 3 trattini ( — ). Inoltre, prendi nota dei rientri.

Infine, esegui il file del playbook come segue.

$ ansible-playbook /etc/ansible/apache.yml

Durante il runtime, il playbook esegue le attività meticolosamente e mostra ogni azione sul terminale. Installa il server web Apache e avvia il servizio.

Per confermare che il server web è stato installato correttamente, avvia un browser ed esplora l'IP dell'host remoto come mostrato:

http://server-ip/

Riepilogo

Ansible è uno strumento di automazione ampiamente utilizzato in DevOps e utilizzato da migliaia di sviluppatori e amministratori di sistema per configurare e distribuire applicazioni sui server. Fa risparmiare tempo e riduce al minimo lo sforzo necessario per gestire una moltitudine di server in una complessa infrastruttura IT. Ci auguriamo che tu possa installare e configurare comodamente Ansible su Ubuntu 20.04.


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 Vai su Ubuntu 22.04 LTS

Come installare TeamViewer su Ubuntu 16.04 LTS

Come installare Vai su Ubuntu 18.04 LTS

Come installare TeamViewer su Ubuntu 18.04 LTS

Come installare Vai su Ubuntu 20.04 LTS

Come installare Chrome Remote Desktop su Ubuntu 20.04 LTS