Cómo instalar y configurar Ansible en Ubuntu 20.04

Cómo instalar y configurar Ansible en Ubuntu 20.04

Ansible es una herramienta de automatización 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 nodos.

Este tutorial lo ayudará a instalar y configurar Ansible en Ubuntu 20.04 sistemas LTS Linux.

Requisitos previos

Tenemos un nodo de control para configurar el servidor Ansible y tres servidores de nodo para administrar. Aquí el nodo de control se está ejecutando con Ubuntu 20.04 Sistema Linux. El primer y tercer nodo se ejecuta con Ubuntu 18.El servidor 04 y el segundo nodo se ejecuta con CentOS 7 Server.

Aquí hay una lista de nodos con dirección IP y nombres de host:

  • Nodo de control - 10.0.1.10 (nodo de control)
  • Primer nodo - 10.0.1.101 (Web-Host1)
  • Segundo nodo - 10.0.1.102 (Web-Host2)
  • Tercer nodo - 10.0.1.103 (db-host1)
  • Paso 1 - Configuración de teclas SSH

    Puede configurar SSH basado en la tecla para los hosts remotos de Linux Ansible. Entonces no se requerirá la contraseña para SSH. Ansible también le permite usar una contraseña para SSH, pero SSH basada en clave es más segura.

    Inicie sesión en el nodo de control (10.0.1.10) y generar un par de claves SSH:

    ssh -keygen -t RSA  

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

    Copie la clave pública a todos sus nodos remotos que necesita conectarse a través de protocolos SSH.

    ssh-copy-id -i ~/.ssh/id_rsa.Pub [correo electrónico protegido]  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 Ubuntu

    Puede instalar Ansible Server desde repositorios oficiales de paquetes en el sistema Ubuntu. Que tiene los últimos paquetes de Debian. Ejecute el siguiente comando para configurar Ansible PPA en su sistema Ubuntu.

    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 Ubuntu

    Actualización de sudo apto  sudo apt install ansible  

    Ingrese '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 - Configurar el archivo de inventario

    Su servidor está listo con Ansible para la administración y la automatización remota del host. Puede tener una serie de hosts que necesita y administrarlos con un único servidor Ansible.

    Aquí debe definir sus sistemas remotos en el archivo hosts Ansible (/etc/ansible/hosts). También puede hacer grupos de hosts con tipos similares. Aquí debe organizar adecuadamente sus anfitriones en grupos. Los grupos se utilizan para realizar una tarea en todos los hosts remotos definidos debajo de ella.

    Editar el archivo de configuración de hosts ansible. Para Exmaple:

    sudo nano/etc/ansible/hosts  

    Agregue sus anfitriones y organícelos con grupos. Se puede agregar un host en múltiples grupos.

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

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

    Configuración VARS de host único

    Necesita definir la configuración para sus anfitriones. El archivo específico del host debe ser con el mismo nombre que el host (por ejemplo: web-host1) en el directorio host_vars.

    sudo mkdir/etc/ansible/host_vars/  sudo vi/etc/ansible/host_vars/web-host1  

    Agregue la configuración SSH a este archivo para el Web-Host1.

    ansible_ssh_host: 10.0.1.101 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 Ansible Server en Ubuntu 20.04 sistema. También hosts remotos configurados para ser administrados con Ansible Server.