Ansible es una herramienta de infraestructura como código que permite a sus usuarios controlar muchos servidores desde una ubicación centralizada. El beneficio de usar Ansible es que usa SSH junto con archivos YAML para la configuración sin necesidad de requerir otras configuraciones. En este tutorial, describiré cómo instalar y configurar Ansible en un sistema Ubuntu 20.04.
Instalación de Ansible en Ubuntu
Para instalar Ansible, use el repositorio oficial de Ubuntu 20.04 en su sistema. Abre la ventana de la terminal usando Ctl+Alt+T acceso directo o use Aplicaciones-> Terminal. Después de esto, actualice el repositorio usando:
$ sudo apt update
El caché del repositorio de paquetes apt se actualizará. Ahora, instale Ansible usando:
$ sudo apt install ansible
El sistema le indicará después de un tiempo, presione Y en el teclado y luego presione la tecla Intro para continuar.
Luego se instalará Ansible. Verifiquemos este paso usando:
$ ansible –versión
La versión instalada se mostrará así:
Generar una clave SSH
Ahora, debe generar una clave SSH en su sistema donde se está instalando Ansible. Para generar la clave, agregue el comando:
$ ssh-keygen
Una vez ingresado en la ventana de la terminal, presione la tecla enter.
Nuevamente presione
Ahora, de nuevo necesitas presionar la tecla
Tan pronto como presione enter, se mostrará una salida bastante similar a esta. Tendrá una clave SSH que se usará en la próxima mitad del tutorial.
Configuración de hosts Ubuntu para automatizar Ansible
Para automatizar más de un host, debe repetir el mismo proceso para cada uno de los hosts respectivamente. Todos los hosts de Ubuntu (Ansible) que se van a configurar deben tener instalado el paquete SSH. Ahora, actualizaremos el paquete apt usando:
$ sudo apt update
Las actualizaciones comenzarán de forma bastante similar a la que se muestra a continuación:
El siguiente paso es instalar el servidor OpenSSH usando:
$ sudo apt install openssh-server -y
Una vez hecho esto, debe verificar el estado del servicio sshd. Use el siguiente comando para verificar esto:
$ sudo systemctl status sshd
La salida se mostrará tan pronto como presione
Una vez que haya verificado que el comando sshd funciona bien y está habilitado, puede continuar. Si no está habilitado, inícielo manualmente usando:
$ sudo systemctl start sshd
Ahora, configuremos el firewall para permitir el acceso SSH usando:
$ sudo ufw allow ssh
Aparecerá un resultado similar al que se muestra a continuación:
El siguiente paso es agregar un ansible usuario y luego permita el acceso sin contraseña. Ahora crearemos un usuario ansible usando:
$ sudo adduser ansible
Proporcione la contraseña para ansible usuario.
Después de eso, complete la información relevante en todos los campos disponibles.
Para configurar el acceso sudo sin contraseña, escriba lo siguiente en la ventana de la terminal para su usuario ansible:
$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ansible
Verifiquemos la dirección IP del host Ansible usando:
$ hostname -I
El host aparecerá en la salida.
Ahora, conoce el nombre de host, por lo que copiaremos la clave pública SSH en el host de Ansible de esta manera:
$ ssh-copy-id [email protected]
Ahora, escriba Sí para continuar.
La clave se copiará en el host.
Para deshabilitar el inicio de sesión basado en contraseña, use el comando:
$ sudo usermod -L ansible
Aquí podemos acceder al host Ansible sin ninguna contraseña y está listo para la automatización.
Prueba de Ansible
Para probar Ansible después de la instalación y configuración, los usuarios deben crear un nuevo directorio de proyectos. Use el comando mkdir para hacerlo:
$ mkdir ~/ansible-demo
Una vez que haya creado un nuevo directorio, debe acceder a él usando:
$ cd ~/ansible-demo/
Después de eso, cree un nuevo archivo de host en el mismo directorio del proyecto usando:
$nano hosts
Ansible usará los hosts en este archivo para SSH. Una vez que haya abierto el editor nano, escriba la dirección IP de su host, desea hacer ping.
Intentemos hacer ping a todos los hosts que usan Ansible usando:
$ ansible all -i ./hosts -u ansible -m ping
Verá un éxito como este que se muestra a continuación:
Desinstalación de Ansible
Para desinstalar Ansible, use el siguiente comando en la ventana del terminal:
$ sudo apt remove ansible
Escriba Y para continuar con el proceso de desinstalación.
De esta forma, los usuarios pueden eliminar fácilmente Ansible de su sistema.
Conclusión
En este artículo, vimos el proceso de instalación de Ansible en un sistema Ubuntu 20.04 y cómo configurar y probar Ansible.