Ansible Galaxy ospita ruoli e raccolte Ansible creati dalla community. Invece di riscriverli da zero, puoi installarli sul tuo computer utilizzando lo strumento da riga di comando di Ansible Galaxy e utilizzarli sui tuoi playbook.
Puoi anche scrivere i tuoi ruoli e raccolte e caricarli su Ansible Galaxy. Questo è fuori dallo scopo di questo articolo.
In questo articolo, ti mostrerò come utilizzare lo strumento da riga di comando di Ansible Galaxy per installare ruoli e raccolte di Ansible Galaxy e utilizzarli sul tuo playbook. Quindi iniziamo.
Prerequisiti:
Se vuoi provare gli esempi di questo articolo,
1) Devi avere Ansible installato sul tuo computer.
2) Devi avere almeno 2 host Linux (un Debian 10 e un CentOS 7) configurati per l'automazione di Ansiblensible.
Ci sono molti articoli su LinuxHint dedicati all'installazione di Ansible e alla configurazione degli host per l'automazione di Ansible. Puoi controllarli se necessario.
Configurazione di una directory di 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 galassia-demo/ nel tuo CASA directory, eseguire il seguente comando:
$ mkdir -pv galaxy-demo/playbooks,vars
Ora vai a galassia-demo/ directory come segue:
$ cd galaxy-demo/
Crea un file di configurazione Ansible ansible.cfg nella directory del tuo progetto come segue:
$ nano ansible.cfg
Digita nelle seguenti righe il tuo ansible.cfg file.
[predefiniti]inventario = host
host_key_checking = Falso
Quando hai finito, premi
Crea un file di inventario Ansible padroni di casa nella directory del tuo progetto come segue:
$ nano host
Digita le seguenti righe nel tuo dell'ospite file di inventario.
[Banca dati]vm1.nodokite.come
[ragnatela]
vm9.nodokite.come
Qui, vm1.nodokite.come è un host Debian 10 e vm9.nodokite.come è un host CentOS 7.
Quando hai finito, premi
Per verificare se puoi eseguire il ping degli host Ansible remoti dal tuo computer, esegui il comando seguente:
$ ansible all -u ansible -m ping
Come puoi vedere, posso eseguire il ping dei miei host Ansible remoti vm1.nodokite.com e vm9.nodokite.come.
Ricerca di ruoli e raccolte di Ansible Galaxy:
Puoi cercare i ruoli e le raccolte di Ansible Galaxy nel sito Web ufficiale di Ansible Galaxy.
Una volta caricata la pagina web, fai clic sull'icona di ricerca per cercare ruoli e raccolte di Ansible Galaxy.
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 principale differenza tra un ruolo e una collezione.
Per visualizzare ulteriori informazioni su un ruolo, fare clic sul ruolo.
Il Dettagli la scheda di un pacchetto di ruoli mostrerà le 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à le informazioni di installazione sul Dettagli tab.
Sul Soddisfare scheda, verranno visualizzati i ruoli che verranno installati dalle raccolte.
Il Leggimi la scheda mostrerà informazioni utili sulla collezione.
Installazione e utilizzo dei ruoli di Ansible Galaxy:
In questa sezione, ti mostrerò come installare e utilizzare un ruolo Ansible Galaxy. Quindi iniziamo.
Diciamo; vuoi installare il ruolo Ansible Galaxy geerlingguy.mysql.
Per farlo, esegui il seguente comando:
$ ansible-galaxy installa geerlingguy.mysql
Il ruolo della Galassia Ansible geerlingguy.mysql dovrebbe essere installato.
Crea un playbook install_database.igname nel libri di gioco/ directory per testare il geerlingguy.mysql ruolo come segue:
$ nano playbook/install_database.igname
Quindi, digita le seguenti righe nel install_database.igname file.
- host: databaseutente: ansible
diventa: sì
file_vars:
-… /vars/database.igname
ruoli:
- ruolo: geerlingguy.mysql
Quando hai finito, premi
Qui, il ruolo di geerlingguy.mysql è usato in ruoli sezione.
Il vars_files la sezione viene utilizzata per aggiungere le variabili ruolo/playbook richieste al playbook. Qui, le variabili verranno posizionate nel vars/database.igname file.
Ora, crea un Banca dati.igname file nel variabili/ directory come segue:
$ nano var/database.igname
Ora aggiungi le variabili desiderate nel in Banca dati.igname file. Ho aggiunto le seguenti variabili nel Banca dati.igname file.
database_mysql:- nome: db01
codifica: utf8mb4
collation: utf8mb4_unicode_ci
utenti_mysql:
- nome: linuxhint
ospite: "%"
password: segreto
privato: "db01.*:TUTTI"
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 pieno accesso al full db01 Banca dati.
Quando hai finito, premi
Ora puoi eseguire il install_database.igname playbook come segue:
$ playbook ansible-playbook/install_database.igname
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.igname il playbook dovrebbe essere completato.
Sul mio vm1.nodokite.com Debian 10 host, il mysql il servizio è in esecuzione come puoi vedere nello screenshot qui sotto,
Posso anche accedere al server del database MySQL come linuxhint utente.
Come puoi vedere, il database db01 è anche creato.
Quindi, ecco come installi e usi i ruoli di Ansible Galaxy.
Installazione e utilizzo delle raccolte Ansible:
In questa sezione, ti mostrerò come installare e utilizzare una collezione Ansible Galaxy. Quindi iniziamo.
Diciamo; vuoi installare la collezione Ansible Galaxy geerlingguy.php_roles.
Per farlo, esegui il seguente comando:
$ ansible-galaxy collection installa geerlingguy.php_roles
La collezione geerlingguy.php_roles dovrebbe essere installato.
Per utilizzare la raccolta, crea una nuova playbook install_php.igname nel libri di gioco/ directory come segue:
$ nano playbook/install_php.igname
Ora, digita le seguenti righe nel install_php.igname file.
- host: webutente: ansible
diventa: sì
collezioni:
- geerlingguy.php_roles
ruoli:
- ruolo: php
- ruolo: php_versions
variabili:
php_version: '7.3'
Quando hai finito, premi
Queste linee importano il geerlingguy.php_roles raccolta sul tuo playbook.
Nel ruoli sezione, puoi utilizzare i ruoli di cui hai bisogno dalla tua collezione. Qui ho aggiunto 2 ruoli (php e versioni_phpversion) dal geerlingguy.php_roles collezione.
Il php il ruolo non ha variabili specifiche per il ruolo.
Se vuoi configurare un ruolo usando le variabili, puoi aggiungerle sotto il vars 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.igname playbook come segue:
$ ansible-playbook playbooks/install_php.igname
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.nodokite.come.
Ho anche creato un indice.php file nel /var/www/html/ directory del mio host CentOS 7 vm9.nodokite.come.
Come puoi vedere, il server web può servire indice.php pagina correttamente.
Quindi, è così che installi e utilizzi le raccolte Ansible Galaxy.
Conclusione:
In questo articolo ho spiegato cos'è Ansible Galaxy. Ho anche dimostrato come installare e utilizzare ruoli/raccolte da Ansible Galaxy. Ansible Galaxy ti aiuterà a evitare di reinventare la ruota, nota anche come ripetizione del codice. Dovresti essere in grado di portare a termine i tuoi progetti Ansible più velocemente utilizzando Ansible Galaxy.