Ansible se está convirtiendo cada vez más en la plataforma de referencia para la implementación de aplicaciones y el aprovisionamiento de software entre los desarrolladores debido a su facilidad de uso y flexibilidad. Además, es fácil de configurar y no es necesario instalar ningún agente en los nodos remotos; en su lugar, Ansible utiliza autenticación SSH sin contraseña para administrar hosts Unix/Linux remotos. En este tema, sin embargo, veremos cómo puede administrar Windows Host usando Ansible.
Configuración del laboratorio
Usaremos la siguiente configuración para lograr nuestro objetivo
- Nodo de control de Ansible – CentOS 8 – IP:192.168.43.13
- Nodo de Windows 10 – Windows 10 – IP:192.168.43.147
Parte 1:Instalación de Ansible en el nodo de control (CentOS 8)
Antes que nada, necesitamos instalar Ansible en el nodo de control, que es el sistema CentOS 8.
Paso 1:Verifique que Python3 esté instalado en el nodo de control de Ansible
En primer lugar, debemos confirmar si Python3 está instalado. CentOS 8 viene con Python3, pero si falta por algún motivo, instálelo con el comando:
# sudo dnf install python3
A continuación, haga que Python3 sea la versión predeterminada de Python ejecutando:
# sudo alternatives --set python /usr/bin/python3
Para verificar si python3 está instalado, ejecute el comando:
# python --version
Leer también: Cómo instalar Ansible (herramienta de automatización) en CentOS 8/RHEL 8
Paso 2:Instale un entorno virtual para ejecutar Ansible
Para este ejercicio, se prefiere un entorno aislado para ejecutar y probar Ansible. Esto mantendrá a raya problemas como problemas de dependencia y conflictos de paquetes. El entorno aislado que vamos a crear se llama entorno virtual.
En primer lugar, comencemos con la instalación del entorno virtual en CentOS 8.
# sudo dnf install python3-virtualenv
Después de la instalación del entorno virtual, cree un espacio de trabajo virtual ejecutando:
# virtualenv env
# source env/bin/activate
¡Estupendo! Observe que el aviso ahora ha cambiado a (env).
Paso 3:Instalar Ansible
Después de la creación del entorno virtual, continúe e instale la herramienta de automatización Ansible usando pip como se muestra:
# pip install ansible
Más tarde puede confirmar la instalación de Ansible usando el comando:
# ansible --version
Para probar Ansible y ver si funciona en nuestro servidor de Ansible Control, ejecute:
# ansible localhost -m ping
¡Estupendo! A continuación, debemos definir el host o sistema de Windows en un archivo de host en el nodo de control de Ansible. Por lo tanto, abra el archivo de hosts predeterminado
# vim /etc/ansible/hosts
Defina los hosts de Windows como se muestra a continuación.
A continuación, guarde y salga del archivo de configuración.
Paso 4:Instalar Pywinrm
A diferencia de los sistemas Unix, donde Ansible usa SSH para comunicarse con hosts remotos, con Windows es una historia completamente diferente. Para comunicarse con hosts de Windows, debe instalar Winrm.
Para instalar winrm, una vez más, use la herramienta pip como se muestra:
# pip install pywinrm
Parte 2:Configuración del host de Windows
En esta sección, vamos a configurar nuestro sistema host remoto de Windows 10 para conectarse con el nodo Ansible Control. Vamos a instalar el escucha WinRM- abreviatura de Remoto de Windows – que permitirá la conexión entre el sistema host de Windows y el servidor Ansible.
Pero antes de hacerlo, su sistema host de Windows debe cumplir algunos requisitos para que la instalación se realice correctamente:
- Su sistema host de Windows debe ser Windows 7 o posterior . Para servidores, asegúrese de estar usando Windows Server 2008 y versiones posteriores.
- Asegúrese de que su sistema esté ejecutando .NET Framework 4.0 y posteriores.
- Windows PowerShell debe ser la versión 3.0 y posteriores
Con todos los requisitos cumplidos, ahora sigue los pasos estipulados a continuación:
Paso 1:Descargue el script WinRM en el host de Windows 10
WinRM se puede instalar mediante un script que puede descargar desde este enlace. Copie todo el script y péguelo en el editor de notas. A partir de entonces, asegúrese de guardar el script WinRM en la ubicación más conveniente. En nuestro caso, hemos guardado el archivo en el escritorio con el nombre ConfigureRemotingForAnsible.ps1
Paso 2:Ejecute el script WinRM en el host de Windows 10
A continuación, ejecute PowerShell como administrador
Navegue hasta la ubicación del script y ejecútelo. En este caso, navegamos a la ubicación del escritorio donde guardamos el script. A continuación, continúe y ejecute el script WinRM en el host de Windows:
.\ConfigureRemotingForAnsible.ps1
Esto toma aproximadamente un minuto y debería obtener el resultado que se muestra a continuación. El resultado muestra que WinRM se ha instalado correctamente.
Parte 3:Conexión al host de Windows desde el nodo de control de Ansible
Para probar la conectividad con el host de Windows 10, ejecute el comando:
# ansible winhost -m win_ping
El resultado muestra que, de hecho, hemos establecido una conexión con el host remoto de Windows 10 desde el nodo Ansible Control. Esto implica que ahora podemos administrar el host remoto de Windows usando Ansible Playbooks. Vamos a crear un libro de jugadas de muestra para el sistema host de Windows.
Parte 4:crear y ejecutar un libro de estrategias para el host de Windows 10
En esta sección final, crearemos un libro de jugadas y crearemos una tarea que instalará Chocolatey en el host remoto. Chocolatey es un administrador de paquetes para el sistema Windows. La jugada se define como se muestra:
# vim chocolatey.yml --- - hosts: winhost gather_facts: no tasks: - name: Install Chocolatey on Windows10 win_chocolatey: name=procexp state=present
Guarde y cierre el archivo yml. A continuación, ejecute el libro de jugadas como se muestra
# ansible-playbook chocolatey.yml
La salida es un puntero que todo salió bien. Y esto concluye este tema sobre cómo puede administrar el host de Windows usando Ansible.
Lea también : Cómo crear roles de Ansible y usarlos en Playbook