Cómo administrar el host remoto de Windows usando Ansible

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.

Administrar hosts de Windows mediante Ansible

configuración de laboratorio

Usaremos la siguiente configuración para lograr nuestro objetivo.

  • Nodo de control Ansible – CentOS 8 – IP: 192.168.43.13
  • Nodo 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

verificar-python-version

Lea 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

instalar-python3-virtualenv

Después de la instalación del entorno virtual, cree un espacio de trabajo virtual ejecutando:

# virtualenv env

virtualenv-env-ansible

# source env/bin/activate

fuente-env-bin-activar-ansible

¡Estupendo! Observe que el indicador ahora ha cambiado a (env).

Paso 3: Instale Ansible

Después de la creación del entorno virtual, proceda e instale la herramienta de automatización Ansible usando pip como se muestra:

# pip install ansible

pip-instalar-Ansible

Más tarde puede confirmar la instalación de Ansible usando el comando:

# ansible --version

comprobar-ansible-version

Para probar Ansible y ver si está funcionando en nuestro servidor de Ansible Control, ejecute:

# ansible localhost -m ping

Test-ansible-para-conectividad

¡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.

Archivo de hosts de Ansible

Nota: El nombre de usuario y la contraseña apuntan al usuario en el sistema host de Windows.

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 los hosts de Windows, debe instalar Winrm.

Para instalar winrm, una vez más, use la herramienta pip como se muestra:

# pip install pywinrm

instalar-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 Oyente de WinRM- corto para Control 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 que está utilizando Servidor Windows 2008 y versiones posteriores.
  • Asegúrese de que su sistema esté funcionando .NET Framework 4.0 y después.
  • ventanas Potencia Shell debe ser la versión 3.0 y posterior

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

Ejecutar 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.

configurar-WinRM-en-Windows10

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

Ansible-ping-windows-host-máquina

El resultado muestra que, de hecho, hemos establecido una conexión con el host remoto de Windows 10 desde el nodo de 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: Creación y ejecución de un libro de jugadas 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. El juego 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

Ansible-Playbook-instalar-chocolatey

Guarde y cierre el archivo yml. A continuación, ejecute el libro de jugadas como se muestra

# ansible-playbook chocolatey.yml

Ansible-playBook-sucedió

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.

Leer también : Cómo crear roles de Ansible y usarlos en Playbook

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *