Cómo instalar y configurar Ansible en Redhat Enterprise Linux 8

Cómo instalar y configurar Ansible en Redhat Enterprise Linux 8

Este tutorial cubre la instalación paso a paso y la configuración de Ansible en Redhat Enterprise Linux 8.
Ansible es el sistema líder de gestión de configuración de código abierto. Hace que sea fácil para los administradores y los equipos de operaciones controlar miles de servidores de Central Machine sin instalar agentes en ellos.

En este tutorial aprenderás:

  • Descripción general ansible
  • Instalar y configurar python
  • Establecer SSH sin contraseña
  • Instalar Ansible
  • Probar y administrar el ansible

Arquitectura ansible.

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Red Hat Enterprise Linux 8
Software Python3, ansible
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Descripción general ansible

Ansible es un motor de automatización de TI radicalmente simple que automatiza el aprovisionamiento en la nube, la gestión de la configuración, la implementación de la aplicación, la orquestación intra-servicio y muchas otras necesidades de TI.



Diseñado para implementaciones de varios niveles desde el primer día, Ansible modela su infraestructura de TI describiendo cómo todos sus sistemas se interrelacionan, en lugar de solo administrar un sistema a la vez.

No utiliza agentes ni infraestructura de seguridad personalizada adicional, por lo que es fácil de implementar, y lo más importante, utiliza un lenguaje muy simple (YAML, en forma de libros de jugadas ansables) que le permiten describir sus trabajos de automatización de una manera que se acerca inglés simple. Ansible funciona conectando a sus nodos y presionando pequeños programas, llamados "módulos ansibles" para ellos.
Estos programas se escriben para ser modelos de recursos del estado deseado del sistema. Ansible luego ejecuta estos módulos (a través de SSH por defecto) y los elimina cuando termine.

Su biblioteca de módulos puede residir en cualquier máquina, y no hay servidores, demonios o bases de datos requeridas. Por lo general, trabajará con su programa terminal favorito, un editor de texto y probablemente un sistema de control de versiones para realizar un seguimiento de los cambios en su contenido.

Instalar y configurar python

La versión predeterminada de Python en Rhel 8 es Python 3.6. Pero Python 2 permanece disponible en Rhel 8. Si por alguna razón Python 3.6 falta en la instalación de Red Hat Enterprise Linux 8, deberá instalarla manualmente.

Python 3.6 se puede instalar en Rhel 8 ejecutando el comando a continuación en su terminal. Python debe instalarse tanto en el servidor Ansible como en todos los hosts/clientes donde se conectará.



# yum instalación Python3 Actualización de repositorios de gestión de suscripción. Actualización de repositorios de gestión de suscripción. Últimos metadatos Verificación de vencimiento: 8:59:59 Hace el domingo 03 de febrero de 2019 11:20:51 PM +04. Dependencias resueltas. ==================================================== ==================================================== ==================================================== Tamaño del repositorio de la versión del arco del paquete ================================================ ==================================================== ==================================================== ===== Instalación: Python36 x86_64 3.6.6-17.EL8+2102+A4BBD900 RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 22 K Módulo de habilitación de transmisiones: Python36 3.6 Resumen de la transacción ================================================= ==================================================== ==================================================== === Instale 1 paquete Tamaño total de descarga: 22 k Tamaño instalado: 22 K es esto OK [S/N]: Y PAQUETES DE DESCARGA: PYTHON36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM 6.0 kb/s | 22 KB 00:03 --------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- Total 6.0 kb/s | 22 kb 00:03 Advertencia:/var/cache/dnf/rhel-8-for-x86_64-appstream-beta-rpms-64aba9de5ea7e089/paquetes/python36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM: Encabezado V3 RSA/SHA256 Firma, ID de clave F21541EB: Nokey Red Hat Enterprise Linux 8 para X86_64 - AppStream Beta (RPMS) 3.2 kb/s | 3.3 KB 00:01 Importación de la tecla GPG 0xf21541eb: UserId: "Red Hat, Inc, Inc. (Beta clave 2) "Huella dactilar: B08B 659E E86A F623 BC90 E8DB 938A 80CA F215 41EB de:/etc/pki/rpm-gpg/rpm-gpg-key-roDhat-beta está este bien [y/n]: y ... instalado : python36-3.6.6-17.EL8+2102+A4BBD900.x86_64 completo! 

Para usar Python 3, solo escriba python3 en la terminal.

Deberías haber notado que para usar Python 3, el comando es Python3 y Python2 para Python 2. ¿Qué pasa si sus aplicaciones están configuradas para referirse a Python que no está disponible en todo el sistema?. Obtendrá el siguiente error BASH.

# Python -Bash: Python: Comando no encontrado 

Puede usar el mecanismo alternativo para habilitar el sistema de comando de pitón no versionado en todo el sistema, y ​​establecerlo en una versión específica. Para establecer Python 3 como Ejecutar el siguiente comando.



# alternativas --set python/usr/bin/python3

Ejecutar Python -V debe mostrar la versión Python predeterminada configurada:

#python -v python 3.6.6 

o comenzando a Python una consola:

# Python Python 3.6.6 (predeterminado, 16 de octubre de 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] en Linux Tipo "Ayuda", "Copyright", "Créditos" o "Licencia" para obtener más información. >>> 

Establecer SSH sin contraseña

Crea el usuario ansible En todos los anfitriones:

# UserAdd Ansible; echo "" | passwd --stdin ansible

Hacer la entrada necesaria en el archivo de sudoers /etc/sudoersPara el usuario ansible para el acceso de sudo sin contraseña:

ansible all = (todos) nopasswd: todos 
Copiar

Ahora genere la tecla SSH en el servidor Ansible:



$ ssh-keygen generando un par de claves RSA pública/privada. Ingrese el archivo en el que guardar la clave (/home/ansible/.ssh/id_rsa): directorio creado '/home/ansible/.ssh '. Ingrese la frase de pases (vacío sin frase de pases): ingrese la misma frase de pases nuevamente: su identificación se ha guardado en/home/ansible/.ssh/id_rsa. Su clave pública ha sido guardada en/home/ansible/.ssh/id_rsa.pub. La huella digital clave es: sha256: wnt/uneprkrv+hhv/djgtexk2bJOgvpbr9ynigxm2em ansible@rhel8-anhisible-server la imagen randomart de la llave es:+--- [RSA 2048] ----+| | | . | | o e o | | + * + o | | . S * o * | | . += + + | | == O@ +.| | Oboo+= | | +o ++*bb | +---- [SHA256]-----+ 

Copiéelo a servidores remotos como usuario Ansible:

$ SSH-COPY-ID Ansible@RHEL8-ANSIBLE-CLIENT/USR/BIN/SSH-COPY-ID: INFO: Fuente de la (s) clave que se instalará: "/Home/Ansible/.ssh/id_rsa.Pub "La autenticidad del huésped 'RHEL8-Ansible-Client (192.168.1.109) 'No se puede establecer. La huella digital de la tecla ECDSA es SHA256: E+NFCEK/KVNIGNWDHGFVIKHJBWWGHIJJKFJYGR7NKI. ¿Estás seguro de que quieres continuar conectando (sí/no)? sí/usr/bin/ssh-copy-id: información: intentar iniciar sesión con las nuevas teclas (s), para filtrar cualquiera que ya esté instalada/usr/bin/ssh-copy-id: info: 1 clave ( S) quedan por instalarse: si se le solicita ahora, es instalar las nuevas teclas Ansible@Rhel8-Ansible-Client Ansible@Rhel8-Ansible-Client '"y verifique para asegurarse de que solo se agregaran las clave (s) que quería. 


Instalar Ansible

Una vez que se haya instalado el Python, continúe con la instalación de PIP, que es un Administrador de paquetes de Python que usaremos para instalar Ansible:

# yum -y install python3 -pip actualización de repositorios de gestión de suscripción. Actualización de repositorios de gestión de suscripción. Últimos metadatos Verificación de vencimiento: 9:03:18 Hace el sol 03 de febrero de 2019 11:20:51 PM +04. Paquete Python3-PIP-9.0.3-4.El8.Noarch ya está instalado. Dependencias resueltas. Nada que hacer. Completo! 

Una vez que tengamos pip3 Instalado, úselo para instalar Ansible en el sistema de administración Ansible como usuario Ansible.

$ PIP3 Instalar Ansible -User

Puede ver el Ansible instalado usando el siguiente comando:

$ ansible --version ansible 2.7.6 Archivo de configuración = Ninguno Módulo Configurado Patina de búsqueda = ['/home/ansible/.Ansible/Plugins/Modules ','/usr/share/ansible/plugins/modules '] Ansible Python Module ubicación =/home/ansible/.Local/lib/python3.6/Sitio-Packages/Ansible Ejecutable Ubicación =/Home/Ansible/.Versión de Python local/bin/ansible = 3.6.6 (predeterminado, 16 de octubre de 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] 

Prueba y gestión

Crear el archivo de inventario ansible, el valor predeterminado es /etc/ansible/hosts Pero puede copiar el archivo hosts en el directorio de inicio del usuario ansible. También puede crear un grupo de hosts remotos como a continuación en el archivo de hosts.

 [Web] 192.168.1.105 [DB] 192.168.1.107 [aplicación] 192.168.1.108 192.168.1.109 192.168.1.110 
Copiar

Puede usar el módulo de ping para probar Ansible y después de una ejecución exitosa, puede ver la salida a continuación.

$ ansible -i anfitriones 192.168.1.109 -m ping 192.168.1.109 | Éxito => "cambiado": falso, "ping": "pong" 


La opción -i se utiliza para proporcionar ruta al archivo de inventario. Debe obtener la misma salida para el nombre del grupo "APP".

$ Ansible -I Hosts App -M Ping 192.168.1.108 | Éxito => "cambiado": falso, "ping": "pong" 192.168.1.109 | Éxito => "cambiado": falso, "ping": "pong" 192.168.1.110 | Éxito => "cambiado": falso, "ping": "pong" 

Conclusión

La simplicidad y la capacidad de Ansible para disminuir la complejidad de otras herramientas lo han convertido en un solicitante confiable para su entorno. Su principal preocupación es sobre la seguridad y la confiabilidad. Utiliza OpenSSH para el transporte, y el lenguaje está diseñado en torno a la audición incluso por aquellos que no están familiarizados con el programa. Ansible es lo suficientemente adecuado para administrar ambas configuraciones pequeñas con un puñado de instancias y entornos empresariales.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Cosas para instalar en Ubuntu 22.04
  • Archivos de configuración de Linux: los 30 principales más importantes
  • Descarga de Linux
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
  • Mastering Bash Script Loops
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Lista de las mejores herramientas de Kali Linux para pruebas de penetración y ..