Cómo habilitar el repositorio de Epel en Centos con Ansible

Cómo habilitar el repositorio de Epel en Centos con Ansible
En este artículo, le mostraré cómo habilitar el repositorio de Epel en Centos usando Ansible. Entonces empecemos.

Requisitos previos

Para habilitar el repositorio EPEL en centos 7 o CentOS 8 máquinas con Ansible:

  1. Debe tener Ansible instalado en su computadora.
  2. Debe tener máquinas CentOS 7 o Centos 8 configuradas para la automatización Ansible.

Hay muchos artículos sobre Linuxhint dedicados a instalar Ansible y configurar hosts para Automatización Ansible. Es posible que desee verificar estos artículos si es necesario, para sus propósitos.

Habilitar el repositorio de Epel en hosts de Centos

Primero, cree un directorio de proyecto ~/proyecto Con el siguiente comando:

$ mkdir -pv ~/proyecto/libros de jugadas

Navegar al ~/proyecto directorio con el siguiente comando:

$ CD ~/proyecto

Crea un nuevo archivo Hospedadores En el directorio del proyecto y ábralo con el editor de texto Nano de la siguiente manera:

$ nano anfitriones

Un archivo en blanco Hospedadores debe crearse y abrirse con el editor de texto Nano.

Escriba las direcciones IP o los nombres DNS de las máquinas de Centos 7 y Centos 8 de destino (donde desea habilitar el repositorio de Epel) en el cento Sección de la Hospedadores Archivo, como sigue:

[CentOS]
192.168.20.169
192.168.20.222

Aquí, 192.168.20.169 es la dirección IP de mi máquina virtual CentOS 8 y 192.168.20.222 es la dirección IP de mi máquina virtual CentOS 7. Estos serán diferentes para ti. Asegúrese de reemplazar las direcciones IP de muestra con su propia lista de ahora en adelante.

NOTA: Puede encontrar las direcciones IP de sus hosts CentOS con el siguiente comando:

$ hostname -i

Si sus hosts CentOS tienen nombres DNS configurados, debería poder encontrarlos con el siguiente comando:

$ hostname -a

El final Hospedadores El archivo debe verse como se muestra en la captura de pantalla a continuación.

Ahora, guarde el archivo de hosts presionando + X seguido por Y y .

Crear un archivo de configuración ansible ansible.CFG como sigue:

$ nano ansible.CFG

Escriba las siguientes líneas en el Ansible.Archivo CFG:

[Valores predeterminados]
inventario =./Hospedadores

Una vez que haya completado este paso, guarde el archivo presionando + X seguido por Y y .

Ahora, crea un nuevo libro de jugadas Ansible enable_epel_repo.yaml en el Libros de jugadas/ Directorio de la siguiente manera:

$ Nano Playbooks/enable_epel_repo.yaml

A continuación, escriba los siguientes códigos en el enable_epel_repo.yaml archivo:

- Anfitriones: Centos
Usuario: Ansible
tareas:
- Nombre: Habilitar el repositorio de Epel en Centos 8
DNF:
Nombre: Epel-Release
Estado: último
hecho realidad
Cuándo: ansible_facts ['OS_Family'] == 'Redhat' y Ansible_Facts
['Distribution_Major_version'] == '8'
- Nombre: Habilitar el repositorio de Epel en Centos 7
Yum:
Nombre: Epel-Release
Estado: último
hecho realidad
Cuándo: ansible_facts ['OS_Family'] == 'Redhat' y Ansible_Facts
['Distribution_Major_version'] == '7'

En este código:

Anfitriones: Centos, selecciona solo los hosts en el cento grupo de la Hospedadores archivo.

Usuario: Ansible, El nombre de usuario SSH de los anfitriones (donde Ansible ejecutará las tareas) será ansible.

He definido 2 tareas aquí. Uno para centos 8 anfitriones y otro para centos 7 anfitriones. La razón por la que lo he hecho de esta manera es porque el administrador de paquetes predeterminado para CentOS 8 es DNF, y CentOS 7 es YUM. Una tarea (primera tarea) utilizará el administrador de paquetes DNF y se ejecutará solo en CentOS 8 Hosts. La otra tarea (última tarea) usará el Administrador de paquetes YUM y se ejecutará solo en CentOS 7 Hosts.

Estas dos tareas son casi idénticas. Las únicas diferencias son los módulos de Administrador de paquetes (DNF y beque) utilizado en las tareas y el código de verificación de la versión CentOS.

DNF y beque Los módulos ansibles aceptan los mismos parámetros.

Aquí, Nombre: Epel-Release, El paquete a instalar es el liberación de epel.

Estado: último, el paquete liberación de epel debe instalarse. Si el paquete ya está instalado y una versión actualizada está disponible, entonces el paquete se actualizará.

Cuándo: condición, Si el condición es verdadero, Entonces la tarea se ejecutará. De lo contrario, la tarea no se ejecutará.

ansible_facts, Se utiliza para acceder a las variables de host ansibles.

ansible_facts ['OS_FAMILY'] == 'Redhat', Comprueba si el sistema operativo host es Centos o Redhat.

ansible_facts ['distribution_major_version'] == '8', Comprueba si la versión del sistema operativo host es 8 (Centos 8 o Redhat 8, en este caso).

ansible_facts ['distribution_major_version'] == '7', Comprueba si la versión del sistema operativo host es 7 (Centos 7 o Redhat 7, en este caso).

Entonces, guarda enable_epel_repo.yaml Archivo presionando + X seguido por Y y .

Ahora, puedes ejecutar el libro de jugadas Ansible de la siguiente manera:

$ Ansible-Playbook Playbooks/Enable_epel_repo.yaml

El libro de jugadas debe ejecutarse sin ningún error y el repositorio de Epel debe habilitarse tanto en los anfitriones Centos 7 como en Centos 8.

Como puede ver, Epel Repository está habilitado en mi host Centos 8.

Como puede ver, Epel Repository está habilitado en mi host Centos 7.

Entonces, así es como habilita el repositorio de Epel en Centos usando Ansible. Gracias por leer este artículo.