GNU/Linux >> Tutoriales Linux >  >> Linux

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.

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.

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


Linux
  1. Cómo montar un recurso compartido remoto de Windows en Linux

  2. Cómo crear un usuario de Linux usando Ansible

  3. Cómo usar un escritorio remoto desde Windows a un escritorio Linux usando XRDP

  4. Cómo conectar un host remoto usando el comando ssh

  5. ¿Cómo sé si una máquina remota está usando Windows o Linux?

Cómo administrar instancias de AWS EC2 usando aws-cli

Cómo administrar AWS Cloudwatch usando aws-cli

Cómo administrar paquetes de Python usando PIP

Cómo usar Ansible para enviar un correo electrónico usando Gmail

Cómo instalar Ansible en Ubuntu 20.04

Cómo hacer una copia de seguridad de un host Linux remoto usando la utilidad rsync de rsnapshot