Cómo instalar y configurar Ansible en Debian 10

Cómo instalar y configurar Ansible en Debian 10

Ansible es una herramienta de automatización gratuita y fácil de usar para administrar múltiples hosts remotos desde la máquina única. Le proporciona una fácil configuración para una gran cantidad de hosts remotos. Por ejemplo, está realizando las mismas tareas en múltiples máquinas, Ansible le proporciona la opción de automatizar estas tareas.

Ansible es una mejor alternativa de las otras herramientas de automatización de infraestructura populares disponibles como Chef y Puppet. No necesita instalar ningún software de cliente en nodos para administrar a través de Ansible Server. Utiliza la conexión SSH para ejecutar tareas en hosts.

Este tutorial lo ayudará a instalar y configurar Ansible en los sistemas de Debian 10 Linux.

Requisitos previos

Para este tutorial, tengo los siguientes anfitriones:

  • Un nodo de control - Para construir su infra con Ansible, necesita un nodo de control donde se ejecutará el servidor Ansible. Esto se conoce como nodo de control Ansible.
  • Uno o más anfitriones - Tenemos tres hosts que se ejecutan con diferentes 2 sistemas operativos.
    • Dos anfitriones con Ubuntu 20.04 LTS
    • Un anfitrión con centos 8

Paso 1 - Configurar las teclas SSH

El nodo de control Ansible usa la conexión SSH para conectar hosts. Puede configurar Ansible para conectar hosts utilizando la contraseña o el acceso SSH basado en la tecla. En este tutorial, utilizaremos ambos tipos (SSH basados ​​en contraseña y clave) para conectar hosts desde el nodo de control.

Inicie sesión en el nodo de control Ansible y genere un par de teclas SSH (si no se genera):

ssh -keygen -t RSA  

Simplemente presione "Enter" a toda la entrada solicitada por el comando.

Luego copie la clave pública a los hosts remotos, debe conectarse a través de la tecla:

ssh-copy-id -i ~/.ssh/id_rsa.Pub [correo electrónico protegido]  ssh-copy-id -i ~/.ssh/id_rsa.Pub [correo electrónico protegido]  

Paso 2 - Instalación de Ansible en Debian

Los paquetes de Debian Ansible están disponibles bajo el repositorio oficial de Apt. Solo necesita agregar el PPA a su sistema. Use el siguiente comando para agregar el repositorio de Debian Ansible a su sistema:

sudo apt-add-repository PPA: Ansible/Ansible  

La utilidad de actualizadores de software actualizará los paquetes caché en su sistema. Por lo tanto, debe ejecutar el siguiente comando para instalar o actualizar Ansible en su sistema Debian

Actualización de sudo apto  sudo apt install ansible  

Presione 'Y' para toda la confirmación de instalación para completar el proceso de instalación. A continuación, debe configurar el servidor Ansible

Paso 3: crear un archivo de inventario

Ha instalado un servidor Ansible en su nodo de control.

Ahora, debe agregar los hosts al servidor Ansible. Ansible permite administrar hosts en el formulario de hosts y grupos. Los grupos se utilizan para realizar una tarea en todos los hosts remotos definidos debajo de ella.

Se puede agregar un solo host a múltiples grupos. Editar el archivo de configuración de hosts ansible. Por ejemplo:

sudo nano/etc/ansible/hosts  

Agregue sus anfitriones y organícelos con grupos:

[WebServers] Web-Host1 Web-Host2 [Dbservers] DB-Host1 [Ubuntu] Web-Host1 DB-Host1 [CentOS] Web-Host2 

La imagen a continuación lo ayudará a comprender el grupo y los anfitriones bajo un grupo.

Por configuración del host

Puede crear archivos de configuración para hosts individuales. Todo el archivo de configuración de hosts reside en el directorio/etc/ansible/host_vars con el mismo que hostname.

sudo mkdir/etc/ansible/host_vars/  sudo vi/etc/ansible/host_vars/web-host1  
  • 1'ST Host -/etc/ansible/host_vars/web -host1
    ansible_ssh_host: 10.0.1.101 ansible_ssh_port: 22 ansible_ssh_user: root 
  • 2'ND Host -/etc/ansible/host_vars/web -host2
    ansible_ssh_host: 10.0.1.102 ANSIBLE_SSH_PORT: 22 ANSIBLE_SSH_USER: root 
  • Host 3'RD -/etc/ansible/host_vars/db -host1
    ansible_ssh_host: 10.0.1.103 ANSIBLE_SSH_PORT: 22 ANSIBLE_SSH_USER: root 
  • En caso de que no haya usado el paso 1 para la conexión SSH para este host. También puede agregar uno de los siguientes métodos al archivo de configuración Web-Hosts1 para la autenticación.

    ANSIBLE_SSH_PASS: Secret_Password ANSIBLE_SSH_PRIVATE_KEY_FILE:/HOME/RAHUL/.SSH/AWS.pem 

    Configuración del grupo VARS

    Puede configurar configuraciones variables comunes de un grupo en configuraciones de grupo. El nombre del archivo de grupo debe ser el mismo que el nombre del grupo (por ejemplo: WebServers) en Group_vars directorio.

    sudo mkdir/etc/ansible/group_vars  sudo vi/etc/ansible/group_vars/WebServers  

    Agregue las variables comunes a este archivo utilizado por todos los hosts agregados en este grupo.

    Ansible_ssh_port: 22 Ansible_SSH_USER: root 

    Paso 4 - Prueba de conexión ansible

    Tu Ansible está listo para usar. Para probar todos los nodos conectividad, use el módulo de ping. Inicie sesión en su servidor Ansible y ejecute el siguiente comando:

    ansible -m ping todo  

    También puede probar la conectividad para el host o grupos específicos.

    ansible -m ping web -host1  ## Anfitrión específico  Ansible -M Ping Webservers  ## Grupo específico  

    También puede ejecutar cualquier comando Linux usando el módulo de shell Ansible. Por ejemplo, ejecute el siguiente comando a continuación para probar la memoria gratuita en Web-Host1.

    ansible -m shell -a 'gratis -m' web -host1  

    También puede realizar la misma tarea para un grupo. Solo use el nombre del grupo en lugar del nombre de host.

    Conclusión

    En este tutorial, ha aprendido a instalar y configurar Ansible en el sistema de Debian 10 Linux.