Come usare Ansible Galaxy

Come usare Ansible Galaxy
Ansible Galaxy è un ruolo e responsabile della raccolta per Ansible. È possibile confrontarlo con il gestore dei pacchetti NPM (Package Manager) del nodo.js.

Ansible Galaxy ospita ruoli e collezioni Ansible creati dalla comunità. Invece di riscriverli da zero, puoi installarlo sul tuo computer utilizzando lo strumento della linea di comando Ansible Galaxy e usarlo sui tuoi playbook.

Puoi anche scrivere i tuoi ruoli e le collezioni e caricarli su Ansible Galaxy. Questo è fuori dall'ambito di questo articolo.

In questo articolo, ti mostrerò come utilizzare lo strumento di linea di comando Ansible Galaxy per installare ruoli e raccolte di Galaxy Ansible e usarli sul tuo playbook. Quindi iniziamo.

Prerequisiti:

Se vuoi provare gli esempi di questo articolo,

1) Devi avere Ansible installato sul tuo computer.

2) È necessario disporre di almeno 2 host Linux (A Debian 10 e A CentOS 7) configurati per l'automazione Ansible.

Ci sono molti articoli su Linuxhint dedicati all'installazione di Ansible e alla configurazione di host per Ansible Automation. Puoi verificarli se necessario.

Impostazione di una directory del progetto:

Prima di iniziare, creiamo una directory di progetto in modo da poter organizzare i nostri file di progetto.

Per creare una directory di progetto Galaxy-Demo/ nel tuo CASA Directory, eseguire il seguente comando:

$ mkdir -pv galaxy -demo/playbooks, vars

Ora, naviga su Galaxy-Demo/ directory come segue:

$ cd galaxy-demo/

Crea un file di configurazione Ansible Ansible.cfg Nella directory del progetto come segue:

$ nano ansible.cfg

Digita le seguenti righe il tuo Ansible.cfg file.

[impostazioni predefinite]
Inventario = host
host_key_checking = false

Una volta che hai finito, premere + X seguito da Y E per salvare il Ansible.cfg file di configurazione.

Crea un file di inventario ansible ospiti Nella directory del progetto come segue:

$ nano hosts

Digita le seguenti righe nel tuo Ospite file di inventario.

[Banca dati]
VM1.nodekite.com
[ragnatela]
VM9.nodekite.com

Qui, VM1.nodekite.com è un ospite di Debian 10 e VM9.nodekite.com è un host CentOS 7.

Una volta che hai finito, premere + X seguito da Y E per salvare il ospiti file di inventario.

Per verificare se è possibile eseguire il ping degli host Ansible remoti dal tuo computer, eseguire il comando seguente:

$ ansible tutto -u ansible -m ping

Come puoi vedere, posso eseguire il ping dei miei ospiti remoti Ansible VM1.nodekite.com e vm9.nodekite.com.

Alla ricerca di ruoli e raccolte di Galaxy Ansible:

Puoi cercare ruoli e collezioni di Ansible Galaxy sul sito ufficiale di Ansible Galaxy.

Una volta carica la pagina Web, fai clic sull'icona di ricerca per cercare ruoli e raccolte di Galaxy Ansible.

Ora, digita ciò che stai cercando e fai clic sull'icona di ricerca.

In questo esempio, ho cercato server mysql. Come puoi vedere, viene visualizzato il risultato della ricerca.

Il termine di ricerca server mysql restituito 2 collezioni e molti ruoli.

Un ruolo è un modulo Ansible che fa cose specifiche. Una collezione ha molti ruoli. Questa è la differenza principale tra un ruolo e una raccolta.

Per vedere ulteriori informazioni su un ruolo, fai clic sul ruolo.

IL Dettagli La scheda di un pacchetto di ruolo mostrerà informazioni tecniche sul ruolo.

IL Leggimi La scheda visualizzerà le informazioni di installazione e utilizzo del ruolo.

Allo stesso modo, un pacchetto di raccolta avrà informazioni sull'installazione sul Dettagli scheda.

Sul Contenuto Scheda, verranno visualizzati i ruoli che le raccolte verranno visualizzate.

IL Leggimi La scheda visualizzerà informazioni utili sulla raccolta.

Installazione e utilizzo dei ruoli di Galaxy Ansible:

In questa sezione, ti mostrerò come installare e utilizzare un ruolo di galassia Ansible. Quindi iniziamo.

Diciamo; Vuoi installare il ruolo di Galassia Ansible Geerlingguy.mysql.

Per fare ciò, eseguire il seguente comando:

$ ansible-galaxy Installa Geerlingguy.mysql

Ruolo della galassia Ansible Geerlingguy.mysql dovrebbe essere installato.

Crea un playbook Install_database.Yaml nel playbooks/ directory per testare il Geerlingguy.mysql ruolo come segue:

$ nano playbooks/install_database.Yaml

Quindi, digita le seguenti righe in Install_database.Yaml file.

- Host: database
Utente: Ansible
Diventa: sì
vars_files:
-... /vars /database.Yaml
Ruoli:
- Ruolo: Geerlingguy.mysql

Una volta che hai finito, premere + X seguito da Y E per salvare il Install_database.Yaml file.

Qui, il ruolo di Geerlingguy.mysql è usato ruoli sezione.

IL vars_files La sezione viene utilizzata per aggiungere le variabili di ruolo/playbook richieste al playbook. Qui, le variabili verranno posizionate in vars/database.Yaml file.

Ora crea un file Banca dati.Yaml file in vars/ directory come segue:

$ nano vars/database.Yaml

Ora aggiungi le tue variabili desiderate in Banca dati.Yaml file. Ho aggiunto le seguenti variabili in Banca dati.Yaml file.

mysql_database:
- Nome: DB01
Codifica: UTF8MB4
COLLAZIONE: UTF8MB4_UNICODE_CI
mysql_users:
- Nome: Linuxhint
ospite: "%"
Password: segreto
priv: "DB01.*:TUTTO"

Queste variabili configurano Geeringguy.mysql ruolo in modo che crei un nuovo utente Linuxhint, Imposta la password segreto per il Linuxhint utente, crea un nuovo database DB01 e sovvenzioni Linuxhint utente completo accesso al file DB01 Banca dati.

Una volta che hai finito, premere + X seguito da Y E per salvare il Banca dati.Yaml file.

Ora puoi eseguire il Install_database.Yaml Playbook come segue:

$ ansible-playbook playbooks/install_database.Yaml

Come puoi vedere, il playbook sta eseguendo il Geerlingguy.mysql ruolo. Potrebbe volerci un po 'di tempo per completare.

A questo punto, il Install_Mysql.Yaml Il playbook dovrebbe essere completato.

Sul mio VM1.nodekite.com debian 10 host, il mysql Il servizio è in esecuzione come puoi vedere nello screenshot qui sotto,

Posso anche accedere al server di database MySQL come Linuxhint utente.

Come puoi vedere, il database DB01 è anche creato.

Quindi, questo è il modo in cui installi e usi i ruoli di Ansible Galaxy.

Installazione e utilizzo di raccolte Ansible:

In questa sezione, ti mostrerò come installare e utilizzare una collezione Galaxy Ansible. Quindi iniziamo.

Diciamo; Vuoi installare la collezione Ansible Galaxy Geerlingguy.php_roles.

Per fare ciò, eseguire il seguente comando:

Collezione $ Ansible-Galaxy Installa Geerlingguy.php_roles

La collezione Geerlingguy.php_roles dovrebbe essere installato.

Per utilizzare la collezione, crea un nuovo Playbook Installa_Php.Yaml nel playbooks/ directory come segue:

$ nano playbooks/install_php.Yaml

Ora, digita le seguenti righe in install_php.Yaml file.

- Host: Web
Utente: Ansible
Diventa: sì
Collezioni:
- Geerlingguy.php_roles
Ruoli:
- Ruolo: PHP
- Ruolo: PHP_VERSIONS
VAR:
php_version: '7.3 '

Una volta che hai finito, premere + X seguito da Y E per salvare il install_php.Yaml file.

Queste linee importano Geerlingguy.php_roles Collezione sul tuo playbook.

Nel ruoli sezione, puoi utilizzare i ruoli di cui hai bisogno dalla tua collezione. Qui, ho aggiunto 2 ruoli (PHP E PHP_VERSIONS) dal Geerlingguy.php_roles collezione.

IL PHP Il ruolo non ha variabili specifiche per il ruolo.

Se si desidera configurare un ruolo usando le variabili, puoi aggiungerle sotto il Var sezione del ruolo come segue.

Puoi trovare quali ruoli sono disponibili per l'uso nella pagina ufficiale di Ansible Galaxy della collezione

La pagina ufficiale di Ansible Galaxy del ruolo avrà informazioni su quali variabili è possibile utilizzare per configurare il ruolo.

Ora puoi eseguire il install_php.Yaml Playbook come segue:

$ ansible-playbook playbooks/install_php.Yaml

Come puoi vedere, il playbook è in esecuzione. Potrebbe volerci un po 'di tempo per completare.

A questo punto, il playbook dovrebbe essere completato.

Come puoi vedere, posso accedere al server Web Apache 2 in esecuzione sul mio host CentOS 7 VM9.nodekite.com.

Ho anche creato un indice.PHP file in /var/www/html/ Directory of My CentOS 7 ospite VM9.nodekite.com.

Come puoi vedere, il server Web può servire indice.PHP pagina correttamente.

Quindi, è così che installi e usi le collezioni di Galaxy Ansible.

Conclusione:

In questo articolo, ho spiegato cosa è Ansible Galaxy. Ho anche dimostrato come installare e utilizzare ruoli/raccolte di Ansible Galaxy. Ansible Galaxy ti aiuterà a evitare di reinventare la ruota, nota anche come ripetizione del codice. Dovresti essere in grado di realizzare i tuoi progetti Ansible più velocemente usando la galassia Ansible.