Ricerca nel sito web

Come creare e scaricare ruoli su Ansible Galaxy e utilizzarli - Parte 9


Nella Parte 9 della serie Ansible imparerai come creare e scaricare ruoli su Ansible Galaxy e come utilizzarli. Ansible è uno strumento di gestione della configurazione e distribuzione automatica semplice ma efficace che automatizza perfettamente attività complesse in modo efficiente. Puoi gestire centinaia o addirittura migliaia di server da un singolo nodo di controllo utilizzando un singolo file playbook.

Tuttavia, scrivere playbook per la gestione dello stesso servizio in ambienti diversi può essere piuttosto complicato e questo di solito porta alla ridondanza del codice. Inoltre, una maggiore complessità può aumentare la difficoltà nella gestione di tutti i dispositivi.

Arrivano i ruoli. In Ansible, i ruoli vengono utilizzati per suddividere i playbook in file riutilizzabili che possono essere utilizzati in diversi altri casi in cui si presenta la necessità di eseguire un'attività simile. Ciò ha eliminato la necessità di riscrivere i playbook più e più volte e consente di risparmiare una grande quantità di tempo ed energia.

I ruoli sono semplicemente funzionalità dei playbook. Un ruolo viene fornito con praticamente ciò che costituirebbe un playbook: attività, file, moduli, variabili e modelli. Inoltre, tieni presente che ogni ruolo è limitato a un'attività particolare o all'output desiderato.

Creazione di un ruolo ansible

Per creare un ruolo in Ansible, utilizza semplicemente la sintassi.

ansible-galaxy init role_name 

Verranno create più directory e file nella directory di lavoro corrente. In questo caso, ho deciso di creare un ruolo nella directory /etc/ansible/roles.

Creiamo un ruolo chiamato apache.

ansible-galaxy init apache

Utilizzare il comando tree per dare uno sguardo alla struttura delle directory del ruolo.

tree apache

Come puoi vedere, sono state create diverse directory, tuttavia, non tutte verranno utilizzate nel playbook.

Ora, per utilizzare il ruolo appena creato in un playbook, definisci un'attività nel file main.yml contenuto nella directory delle attività del tuo nuovo ruolo.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

    - name: Install Apache2 on Ubuntu webserver
      apt:
         name: apache2
         state: installed

Successivamente, crea un file playbook e chiama il ruolo come mostrato.

--- 
- hosts: webservers
  roles:
   - apache

Installazione di un ruolo da Ansible Galaxy

I ruoli svolgono un ruolo cruciale nella condivisione del codice con altri utenti nella community Ansible utilizzando la piattaforma Ansible Galaxy. In Ansible Galaxy, ottieni migliaia di ruoli che svolgono diverse attività come l'installazione di server web e database, strumenti di monitoraggio, ecc.

Ansible Galaxy è un database o un archivio di ruoli Ansible che puoi sfruttare nei tuoi playbook e ti aiuta a semplificare le tue attività.

Per cercare un ruolo in Ansible Galaxy, esegui semplicemente il comando.

ansible-galaxy search <role>

Ad esempio, per cercare un ruolo denominato mysql esegui.

ansible-galaxy search mysql

Come puoi vedere, ci sono centinaia di ruoli che corrispondono alla parola chiave di ricerca mysql. Tuttavia, non tutti i ruoli eseguiranno ciò che intendi, quindi ti consigliamo di leggere attentamente le istruzioni.

Per raccogliere maggiori informazioni su un ruolo, esegui semplicemente il comando Ansible:

ansible-galaxy info 5KYDEV0P5.skydevops-mysql

Nel nostro esempio installeremo il ruolo 5KYDEV0P5.skydevops-mysql.

ansible-galaxy install 5KYDEV0P5.skydevops-mysql

Il ruolo viene scaricato ed estratto nella directory dei ruoli predefinita situata in /etc/ansible/roles.

Successivamente il ruolo può essere richiamato in un playbook, ad esempio:

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql

Ora puoi eseguire in sicurezza il playbook Ansible come mostrato.

ansible-playbook install_mysql.yml

Inoltre, puoi visitare Ansible Galaxy tramite il tuo browser web e cercare manualmente i ruoli per eseguire varie attività come indicato dalla dashboard.

Ad esempio, per cercare un ruolo di monitoraggio come elasticsearch, fai clic sull'opzione "Monitoraggio" e cerca il ruolo come mostrato.

Ansible Galaxy rende più semplice per gli utenti installare i ruoli migliori elencando i ruoli più popolari e più scaricati. Per ottenere maggiori informazioni su un ruolo specifico, è sufficiente fare clic su di esso.

In un playbook puoi anche specificare più di un ruolo, ad esempio.

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql
    • Aaronpederson.mariadb

Per elencare i ruoli installati è sufficiente eseguire.

ansible-galaxy list

Conclusione

I ruoli semplificano il riutilizzo e la condivisione dei playbook Ansible. In questo modo fanno risparmiare all'utente molto tempo cercando di scrivere molto codice ridondante e dedicano troppo tempo che sarebbe stato utilizzato in altre attività di amministrazione del sistema. E questo è tutto per questa guida.