Cómo crear y descargar roles en Ansible Galaxy y usarlos-Parte 9

Cómo crear y descargar roles en Ansible Galaxy y usarlos-Parte 9

En la Parte 9. de la serie Ansible, aprenderá a crear y descargar roles en Ansible Galaxy. y a usarlos. Ansible es una herramienta de implementación automática y administración de configuración simple pero efectiva que automatiza sin problemas tareas complejas de manera eficiente. Puede administrar cientos o incluso miles de servidores desde un solo nodo de control utilizando un solo archivo de libro de jugadas.

Sin embargo, escribir libros de jugadas para administrar el mismo servicio en diferentes entornos puede ser bastante engorroso y esto generalmente conduce a la redundancia de código . Además, una mayor complejidad puede aumentar la dificultad en la gestión de todos los dispositivos.

Entra en funciones. En Ansible. los roles se utilizan para dividir los libros de jugadas en archivos reutilizables que se pueden utilizar en varios otros casos en los que surge la necesidad de realizar una tarea similar. Esto eliminó la necesidad de reescribir los libros de jugadas una y otra vez y ahorra una gran cantidad de tiempo y energía.

Los roles son simplemente funcionalidades de los libros de jugadas. Un rol incluye prácticamente lo que constituiría un libro de jugadas: tareas, archivos, módulos, variables y plantillas. Además, tenga en cuenta que cada función está limitada a una tarea en particular o al resultado deseado.

Creación de una función Ansible

Para crear una función en Ansible. simplemente use la sintaxis.

# ansible-galaxy init role_name freestar.config.enabled_slots.push

Se crearán varios directorios y archivos en su directorio de trabajo. En este caso, he decidido crear un rol en el directorio /etc/ansible/roles.

Creemos un rol llamado apache.

# ansible-galaxy init apache Crear rol de Apache en Ansible  Crear un rol de Apache en Ansible Crear un rol de Apache en Ansible

Utilice el comando de árbol para echar un vistazo a la estructura de directorios del rol.

# tree apache  Verificar la estructura del directorio de Ansible Role  Verificar la estructura del directorio del rol de Ansible Verificar la estructura del directorio del rol de Ansible

Como puede ver, se han creado varios directorios, sin embargo, no todos de ellos se usarán en el libro de jugadas.

Ahora, para usar su rol recién creado en un libro de jugadas, defina una tarea en el archivo main.yml. contenido en el directorio de tareas de su nuevo rol.

/apache/tasks/main.yml—-hosts: database_servers tareas:-nombre: Instale Apache2 en el servidor web de Ubuntu apt: name: apache2 state: installed

Luego, cree un archivo de libro de jugadas y llame al rol como se muestra.

—-hosts: webservers roles:-apache

Instalar un rol desde Ansible Galaxy

Los roles. juegan un papel crucial al compartir código con otros usuarios en la comunidad Ansible. mediante Plataforma Ansible Galaxy. En Ansible Galaxy. obtienes miles de roles realizando diferentes tareas como la instalación de servidores web y bases de datos, herramientas de monitoreo, etc.

Ansible Galaxy. es una base de datos o un repositorio de roles de Ansible que puede aprovechar en sus libros de jugadas y ayudar a optimizar sus tareas.

Para buscar un rol en Ansible Galaxy. simplemente ejecute el comando.

# ansible-galaxy search

Por ejemplo, para buscar un rol llamado mysql. run.

# ansible-galaxy buscar mysql  Función de búsqueda en Ansible Función de búsqueda en Ansible Función de búsqueda en Ansible

Como puede ver, hay cientos de funciones que coinciden con la palabra clave de búsqueda mysql. Sin embargo, no todos los roles realizarán lo que usted pretende, por lo que se recomienda que lea detenidamente las instrucciones.

Para recopilar más información sobre un rol, simplemente ejecute el comando Ansible:

# ansible-información de galaxias 5KYDEV0P5.skydevops-mysql  Verificar función Ansible Información  Verificar información de rol de Ansible Verificar información de rol de Ansible

En nuestro ejemplo, vamos a instale el rol 5KYDEV0P5.skydevops-mysql.

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql  Instalar rol en Ansible  Instalar función en Ansible Instalar rol en Ansible

El rol se descarga y se extrae al directorio de roles predeterminado ubicado en /etc/ansible/roles.

A partir de entonces, el rol se puede llamar en un libro de jugadas, por ejemplo:

—-nombre: Instalar hosts de servidor MySQL: roles de servidores web: • 5KYDEV0P5.skydevops-mysql

Ahora puede ejecute de forma segura el libro de jugadas de Ansible como se muestra.

# ansible-playbook install_mysql.yml  Ejecutar Ansible Playbook Ejecutar el libro de estrategias de Ansible Ejecutar Ansible Playbook

Además, puede visitar Ansible Galaxy a través de su navegador web y buscar manualmente roles para realizar diversas tareas como se indica en el panel.

 Ansible Galaxy  Ansible Galaxy Ansible Galaxy

Por ejemplo, para buscar una función de supervisión como elasticsearch. haga clic en ‘ Moni toring. ‘y busque el rol como se muestra.

Función de supervisión de búsqueda en Ansible Galaxy  Función de supervisión de búsqueda en Ansible Galaxy Función de supervisión de búsqueda en Ansible Galaxy

Ansible Galaxy. facilita a los usuarios la instalación de los mejores roles al enumerar los roles más populares y más descargados. Para obtener más información sobre un rol específico, simplemente haga clic en él.

 Verifique la información del rol en Ansible Galaxy  Verificar información de rol en Ansible Galaxy Verifique la información del rol en Ansible Galaxy

En un libro de jugadas, también puede especificar más de un rol, por ejemplo.

—-nombre: Instalar servidores MySQL hosts: servidores web roles: • 5KYDEV0P5.skydevops-mysql • Aaronpederson.mariadb

Para listar los roles instalados, simplemente ejecute.

# lista ansible-galaxy  Lista Funciones instaladas en Ansible Galaxy  Lista de roles instalados en Ansible Galaxy Lista de roles instalados en Ansible Conclusión Galaxy

Las funciones. facilitan la reutilización y el intercambio de libros de jugadas de Ansible. De esta manera, le ahorran al usuario mucho tiempo tratando de escribir mucho código redundante y gastan demasiado tiempo que se habría utilizado en otras tareas de administración del sistema. Y eso es todo por esta guía.