Ansible

Cómo usar Ansible Galaxy

Cómo usar Ansible Galaxy
Ansible Galaxy es un administrador de funciones y cobranza de Ansible. Puede compararlo con el administrador de paquetes NPM (Node Package Manager) de Node.js.

Ansible Galaxy alberga roles y colecciones de Ansible creados por la comunidad. En lugar de reescribirlos desde cero, puede instalarlo en su computadora usando la herramienta de línea de comandos de Ansible Galaxy y usarlos en sus libros de jugadas.

También puede escribir sus roles y colecciones y cargarlos en Ansible Galaxy. Esto está fuera del alcance de este artículo.

En este artículo, le mostraré cómo usar la herramienta de línea de comandos de Ansible Galaxy para instalar roles y colecciones de Ansible Galaxy y usarlos en su libro de jugadas. Entonces empecemos.

Requisitos previos:

Si quieres probar los ejemplos de este artículo,

1) Debes tener Ansible instalado en tu computadora.

2) Debe tener al menos 2 hosts Linux (Debian 10 y CentOS 7) configurados para la automatización de Ansible.

Hay muchos artículos sobre LinuxHint dedicados a la instalación de Ansible y la configuración de hosts para la automatización de Ansible. Puede consultarlos si es necesario.

Configuración de un directorio de proyectos:

Antes de comenzar, creemos un directorio de proyecto para que podamos organizar los archivos de nuestro proyecto.

Para crear un directorio de proyecto galaxy-demo / en tus CASA directorio, ejecute el siguiente comando:

$ mkdir -pv galaxy-demo / playbooks, vars

Ahora, navega hasta el galaxia-demo / directorio de la siguiente manera:

$ cd galaxy-demo /

Cree un archivo de configuración de Ansible ansible.cfg en el directorio de su proyecto de la siguiente manera:

$ nano ansible.cfg

Escriba en las siguientes líneas su ansible.cfg expediente.

[valores predeterminados]
inventario = hosts
host_key_checking = Falso

Una vez que haya terminado, presione + X seguido por Y y para salvar el ansible.cfg archivo de configuración.

Cree un archivo de inventario de Ansible Hospedadores en el directorio de su proyecto de la siguiente manera:

$ nano hosts

Escriba las siguientes líneas en su Hospedadores archivo de inventario.

[base de datos]
vm1.nodekite.com
[web]
vm9.nodekite.com

Aquí, vm1.nodekite.com es un host Debian 10, y vm9.nodekite.com es un host CentOS 7.

Una vez que haya terminado, presione + X seguido por Y y para salvar el Hospedadores archivo de inventario.

Para verificar si puede hacer ping a los hosts Ansible remotos desde su computadora, ejecute el siguiente comando:

$ ansible all -u ansible -m ping

Como puede ver, puedo hacer ping a mis hosts Ansible remotos vm1.nodekite.com y vm9.nodekite.com.

Búsqueda de funciones y colecciones de Ansible Galaxy:

Puede buscar roles y colecciones de Ansible Galaxy en el sitio web oficial de Ansible Galaxy.

Una vez que se cargue la página web, haga clic en el ícono de búsqueda para buscar roles y colecciones de Ansible Galaxy.

Ahora, escriba lo que está buscando y haga clic en el icono de búsqueda.

En este ejemplo, he buscado servidor mysql. Como puede ver, se muestra el resultado de la búsqueda.

El término de búsqueda servidor mysql devolvió 2 colecciones y muchos roles.

Un rol es un módulo de Ansible que hace cosas específicas. Una colección tiene muchos roles. Esa es la principal diferencia entre un rol y una colección.

Para ver más información sobre un rol, haga clic en el rol.

La Detalles La pestaña de un paquete de roles mostrará información técnica sobre el rol.

La Léame La pestaña mostrará la información de instalación y uso del rol.

De la misma forma, un paquete de colección tendrá información de instalación en el Detalles pestaña.

Sobre el Contenido pestaña, se mostrarán los roles que instalarán las colecciones.

La Léame pestaña mostrará información útil sobre la colección.

Instalación y uso de funciones de Ansible Galaxy:

En esta sección, le mostraré cómo instalar y usar un rol de Ansible Galaxy. Entonces empecemos.

Digamos; desea instalar el rol Ansible Galaxy geerlingguy.mysql.

Para hacer eso, ejecute el siguiente comando:

$ ansible-galaxy instalar geerlingguy.mysql

Papel de Ansible Galaxy geerlingguy.mysql debe ser instalado.

Crea un libro de jugadas install_database.yaml en el libros de jugadas / directorio para probar el geerlingguy.mysql papel de la siguiente manera:

$ nano playbooks / install_database.yaml

Luego, escriba las siguientes líneas en el install_database.yaml expediente.

- hosts: base de datos
usuario: ansible
convertirse en: si
vars_files:
-… / Vars / base de datos.yaml
roles:
- papel: geerlingguy.mysql

Una vez que haya terminado, presione + X seguido por Y y para salvar el install_database.yaml expediente.

Aquí, el papel de geerlingguy.mysql se utiliza en el roles sección.

La vars_files La sección se usa para agregar las variables de rol / libro de jugadas requeridas al libro de jugadas. Aquí, las variables se colocarán en el vars / base de datos.yaml expediente.

Ahora, crea un base de datos.yaml archivo en el vars / directorio de la siguiente manera:

$ nano vars / base de datos.yaml

Ahora, agregue las variables que desee en el base de datos.yaml expediente. He agregado las siguientes variables en el base de datos.yaml expediente.

mysql_databases:
- nombre: db01
codificación: utf8mb4
colación: utf8mb4_unicode_ci
mysql_users:
- nombre: linuxhint
anfitrión: "%"
contraseña: secreto
priv: "db01.*:TODAS"

Estas variables configuran geeringguy.mysql rol para que cree un nuevo usuario linuxhint, establece la contraseña secreto Para el linuxhint usuario, crea una nueva base de datos db01 y subvenciones linuxhint usuario acceso completo a la db01 base de datos.

Una vez que haya terminado, presione + X seguido por Y y para salvar el base de datos.yaml expediente.

Ahora, puede ejecutar el install_database.yaml libro de jugadas de la siguiente manera:

$ ansible-playbook playbooks / install_database.yaml

Como puede ver, el libro de jugadas ejecuta el geerlingguy.mysql papel. Puede que tarde un poco en completarse.

En este punto, el install_mysql.yaml el libro de jugadas debe estar completo.

En mi vm1.nodekite.com Debian 10 host, el mysql el servicio se está ejecutando como puede ver en la captura de pantalla a continuación,

También puedo iniciar sesión en el servidor de base de datos MySQL como linuxhint usuario.

Como puede ver, la base de datos db01 también se crea.

Entonces, así es como instalas y usas los roles de Ansible Galaxy.

Instalación y uso de colecciones Ansible:

En esta sección, le mostraré cómo instalar y usar una colección Ansible Galaxy. Entonces empecemos.

Digamos; desea instalar la colección Ansible Galaxy geerlingguy.php_roles.

Para hacer eso, ejecute el siguiente comando:

$ ansible-galaxy collection instalar geerlingguy.php_roles

La colección geerlingguy.php_roles debe ser instalado.

Para usar la colección, cree una nueva libro de jugadas install_php.yaml en el libros de jugadas / directorio de la siguiente manera:

$ nano playbooks / install_php.yaml

Ahora, escriba las siguientes líneas en el install_php.yaml expediente.

- hosts: web
usuario: ansible
convertirse en: si
colecciones:
- geerlingguy.php_roles
roles:
- rol: php
- rol: php_versions
vars:
php_version: '7.3 '

Una vez que haya terminado, presione + X seguido por Y y para salvar el install_php.yaml expediente.

Estas líneas importan el geerlingguy.php_roles colección en tu libro de jugadas.

En el roles sección, puede usar los roles que necesita de su colección. Aquí, he agregado 2 roles (php y php_versions) desde el geerlingguy.php_roles colección.

La php el rol no tiene ninguna variable específica del rol.

Si desea configurar un rol mediante variables, puede agregarlas en la vars sección de la papel como sigue.

Puede encontrar qué roles están disponibles para su uso en la página oficial de Ansible Galaxy de la colección

La página oficial de Ansible Galaxy del rol tendrá información sobre qué variables puede usar para configurar el rol.

Ahora, puede ejecutar el install_php.yaml libro de jugadas de la siguiente manera:

$ ansible-playbook playbooks / install_php.yaml

Como puede ver, el libro de jugadas se está ejecutando. Puede que tarde un poco en completarse.

En este punto, se debe completar el libro de jugadas.

Como puede ver, puedo acceder al servidor web Apache 2 que se ejecuta en mi host CentOS 7 vm9.nodekite.com.

También he creado un índice.php archivo en el / var / www / html / directorio de mi host CentOS 7 vm9.nodekite.com.

Como puede ver, el servidor web puede servir índice.php página correctamente.

Entonces, así es como instalas y usas las colecciones de Ansible Galaxy.

Conclusión:

En este artículo, he explicado qué es Ansible Galaxy. También he demostrado cómo instalar y usar roles / colecciones de Ansible Galaxy. Ansible Galaxy te ayudará a evitar reinventar la rueda, también conocida como repetición de código. Debería poder hacer sus proyectos de Ansible más rápido con Ansible Galaxy.

Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...