Come eseguire Ansible su una macchina virtuale Ubuntu

In questo blog impareremo come eseguire ansible in una macchina virtuale Ubuntu. Impareremo anche alcuni suggerimenti e trucchi per rendere la nostra esperienza con ansible più piacevole.

Come eseguire Ansible su una macchina virtuale Ubuntu

introduzione

Ansible è uno strumento di gestione della configurazione, distribuzione e orchestrazione. Utilizza SSH per la comunicazione tra i nodi.

Quindi non è necessario installare alcun agente nei nodi. Possiamo utilizzare i playbook per scrivere processi di automazione in Ansible.

Questa guida ti aiuterà a installare Ansible sui sistemi Ubuntu 18.04 LTS e 16.04 LTS.

Configurazione di Ansible su Ubuntu

Ansible è un sistema di gestione della configurazione che automatizza la configurazione del server, la distribuzione delle applicazioni e la gestione delle attività.

È uno strumento semplice ma potente che può semplificare notevolmente le attività di gestione della configurazione.

In questa guida, ti mostreremo come installare Ansible su un Ubuntu 18.04 e gestire le configurazioni del server con esso.

Installazione di Ansible su Ubuntu 18.04 Server#

  • Per installare Ansible sul nostro server Ubuntu, dovremo prima installare alcuni pacchetti prerequisiti. Possiamo farlo con il comando apt:
    sudo apt aggiornamento
    sudo apt install software-properties-common
  • Successivamente, aggiungeremo il repository Ansible al nostro elenco di fonti: sudo apt-add-repository ppa:ansible/ansible
  • Premi INVIO per continuare quando richiesto. Infine, possiamo installare il pacchetto Ansible stesso con adatto: sudo apt install ansible -y
  • ansible --versione 2.7 dovrebbe essere visualizzato a indicare che l'installazione è andata a buon fine

Configurazione degli account utente Ansible

Per impostazione predefinita in Ubuntu, solo gli utenti privilegiati (utenti con accesso sudo) possono eseguire playbook Ansibl e.

Tuttavia, per facilità d'uso, potresti voler eseguire i playbook come un normale account utente invece di utilizzare sudo tutto il tempo.

Esistono due modi per eseguire questa operazione: puoi creare un nuovo account utente specifico per l'esecuzione di playbook oppure puoi utilizzare il tuo account utente esistente se dispone dei privilegi sudo.

In questa guida, ti mostreremo come configurare entrambi i metodi in modo che tu possa scegliere quale è giusto per le tue esigenze

Esecuzione di Ansible su Ubuntu


Ansible è uno strumento di gestione della configurazione utilizzato per gestire le configurazioni del server, distribuire applicazioni e automatizzare le attività.

Creeremo anche un semplice Playbook per distribuire un sito Web HTML statico. I playbook Ansible sono scritti nel file Formato di serializzazione dei dati YAML e definiscono un insieme di attività da eseguire su un host remoto o un gruppo di host remoti.

Prima di iniziare, assicurati di avere Ansible installato sul tuo sistema locale. In caso contrario, puoi seguire la nostra guida su Come installare Ansible su CentOS 7.

Playbook Ansible


I playbook Ansible sono un sistema di configurazione e distribuzione multinodo. Possono descrivere una politica che si desidera applicare ai sistemi remoti o una serie di passaggi in un processo IT generale.

Se i moduli Ansible sono gli strumenti nella tua cassetta degli attrezzi, i playbook sono la tua cassetta degli attrezzi. E come i tuoi utensili elettrici preferiti, i playbook Ansible possono diventare piuttosto pelosi quando crescono oltre poche dozzine di righe.

La buona notizia è che ci sono alcune solide best practice che puoi seguire per mantenere i tuoi playbook Ansible puliti, asciutti e riutilizzabili. In questo post tratteremo 9 suggerimenti per creare playbook Ansible migliori.

  1. Mantieni i tuoi playbook brevi e dolci
    Questo potrebbe sembrare ovvio, ma vale la pena ripeterlo: più breve e semplice è il tuo playbook, più facile è da leggere e mantenere. i playbook monouso shoter sono più facili da risolvere rispetto a quelli monolitici lunghi. In caso di dubbio, suddividi le attività correlate in playbook separati e includili come ruoli o come importazioni nel tuo playbook principale.
  2. Scrivi attività idempotenti
    Un'attività idempotente è un'attività che ha lo stesso effetto sia che la si esegua una o cento volte. Potrebbe sembrare una cosa strana a cui mirare, ma i compiti idempotenti sono importanti perché possono essere eseguiti più e più volte senza effetti collaterali negativi.
    Ad esempio, supponi di avere un'attività che installa un particolare pacchetto software su tutti i tuoi server. Se l'attività è idempotente, eseguirla più volte sullo stesso server avrà lo stesso effetto di eseguirla una volta: il pacchetto verrà installato (o, se era già installato, non accadrà nulla). D'altra parte, se l'attività non è idempotente, eseguirla di nuovo installerà due copie del pacchetto software (o peggio).
  3. Usa saggiamente Include
    I file di inclusione consentono di organizzare le attività correlate in unità logiche che possono essere riutilizzate in altri playbook o incluse direttamente nelle riproduzioni. Puoi pensarli come elementi costitutivi per playbook più grandi
    Sebbene gli include possano essere molto utili, dovrebbero essere usati con parsimonia: troppi file inclusi possono rendere difficile seguire un playbook. Una buona regola pratica consiste nell'usare include solo quando è necessario riutilizzare le attività in più di un posto; se includi solo attività in un playbook, probabilmente è più semplice incorporarle direttamente nelle riproduzioni in cui vengono utilizzate
    Ruoli ansibili

    I ruoli Ansible sono costituiti da molti playbook, che è simile ai moduli in Puppet. Il più grande vantaggio con i ruoli Ansible è che è molto più semplice riutilizzare il codice e pianificare le attività. In questo capitolo vedremo come creare e utilizzare ruoli Ansible con esempi.

I ruoli sono il modo per raggruppare tutti i playbook correlati e altri file in un unico posto in modo che possano essere riutilizzati.

Si possono mettere tutte le riproduzioni dell'installazione di MySQL in un ruolo e tutte le riproduzioni dell'installazione di Apache in un altro ruolo.

Tutto ciò di cui hai bisogno è chiamare questi ruoli in site.yml per installare sia MySQL che Apache. Poiché questi due ruoli sono indipendenti, possono essere eseguiti in parallelo senza alcun problema in quanto non hanno dipendenza l'uno dall'altro.

Galassia ansibile


Se desideri installare un ruolo Ansible sulla tua macchina virtuale Ubuntu, puoi utilizzare lo strumento Galaxy CLI. Questo strumento ti consentirà di cercare ruoli, installarli e persino crearne uno tuo.

Innanzitutto, devi assicurarti di avere installato l'ultima versione di Ansible. Puoi farlo eseguendo il seguente comando:

  • $ sudo apt aggiornamento
  • $ sudo apt install software-properties-common
  • $ sudo apt-add-repository --yes ppa:ansible/ansible
  • $ sudo apt aggiornamento
  • $ sudo apt install ansible

Una volta installato Ansible, puoi iniziare a utilizzare Galaxy CLI. La prima cosa che devi fare è creare un file chiamato "requirements.yml" nella tua attuale directory di lavoro. Questo file conterrà un elenco di tutti i ruoli che desideri installare.

Ad esempio, se desideri installare il ruolo "nginx", il tuo file requirements.yml avrà il seguente aspetto:

- src: versione geerlingguy.nginx: v1.0.0

Dopo che requirements.yml è stato creato, puoi utilizzare il seguente comando per installare tutti i ruoli elencati nel file:

$ ansible-galaxy install -r requirements.yml

Cassaforte Ansible


Ansible Vault è una funzionalità di Ansible che consente di conservare i dati sensibili, come password o chiavi private, in file crittografati, anziché come testo normale in playbook o ruoli. Questi file del vault possono quindi essere distribuiti o inseriti nel controllo del codice sorgente.

Per utilizzare Ansible Vault, è necessario creare un file del vault. Questo può essere fatto con il comando ansible-vault create:

$ ansible-vault crea myvault.yml

Ti verrà richiesta una password con cui crittografare il file. Una volta creato il file, puoi modificarlo come qualsiasi altro file YAML. Al termine, è possibile crittografare nuovamente il file con il comando ansible-vault encrypt:

$ ansible-vault crittografa myvault.yml

Il file verrà crittografato con la stessa password utilizzata per crearlo. Per modificare un file crittografato, è necessario fornire la password utilizzando l'estensione –ask-vault-pass o opzioni –vault-password-file:

$ modifica ansible-vault --ask-vault-pass myvault.yml

Conclusione

Ora che sai come eseguire Ansible su una macchina virtuale Ubuntu, puoi iniziare ad automatizzare le attività dell'infrastruttura.

Se hai bisogno di ulteriore aiuto, consulta la documentazione di Ansible.

Italiano