Cómo instalar y configurar Ansible en Ubuntu 18.04

27 feb 2021 3 min di lettura
Cómo instalar y configurar Ansible en Ubuntu 18.04
Indice dei contenuti

Introducción

Ansible es un sistema de gestión para simplificar el control de una gran cantidad de servidores al mismo tiempo. Esta herramienta le permite controlar muchos sistemas diferentes automáticamente desde una ubicación central.

En este tutorial veremos cómo instalar y configurar Ansible en Ubuntu 18.04 LTS.

Con Ansible es posible conectarse simultáneamente a través de SSH a varios servidores de forma remota y realizar todas las operaciones que normalmente se utilizan para administrar un servidor. Cualquier servidor que pueda administrar a través de SSH, también puede administrarlo a través de Ansible.

Prerrequisitos

Antes de comenzar con esta guía, debe tener:

Un usuario no root con privilegios sudo establecidos en su servidor. Siga esta guía: Configuración inicial en Ubuntu 18.04 LTS.

Claves SSH generadas para el usuario no root en su servidor Ansible. Siga el primer paso de esta guía: Cómo configurar claves SSH en Ubuntu 18.04.

Dos o más servidores Ubuntu 18.04. Uno de estos se utilizará como servidor Ansible, mientras que el resto se utilizará como host Ansible. Todos deberían tener un usuario no root con privilegios de sudo y un firewall básico configurado.

Instalar Ansible

Instale Ansible en la computadora que utilizará para conectarse a sus servidores.

Actualice la lista de paquetes de Ubuntu, desde la terminal:

sudo apt update

Instale el siguiente paquete, para facilitar la configuración de algún software:

sudo apt install software-properties-common

Agregue el repositorio de Ansible:

sudo apt-add-repository ppa:ansible/ansible

Presione ENTRAR cuando se le solicite.

Actualice la lista de paquetes nuevamente (en Ubuntu 18.04 ya deberían haberse actualizado):

sudo apt update

Instalar Ansible:

sudo apt install ansible

Configurar el acceso SSH

En el servidor Ansible (generalmente la computadora local), use el comando cat para imprimir el contenido del archivo de clave pública SSH del usuario:

cat ~/.ssh/id_rsa.pub

Copie el contenido del archivo y conéctese vía SSH a uno de los servidores que desea administrar usando Ansible:

ssh utente@indirizzo_ip

Una vez conectado al servidor, cree el directorio ~ /.ssh, este comando creará el directorio si es necesario, o no hará nada si ya existe:

mkdir -p ~/.ssh

Ejecute el siguiente comando, reemplazando public_key con el mensaje de salida recibido del comando anterior cat ~ /.ssh /id_rsa.pub:

echo chiave_pubblica >> ~/.ssh/authorized_keys

EJEMPLO (no use esta clave pública):

echo AAAAB3NzaC1yc2EAAAADAQABAAABAQDdTV41d4YIf0EqISOryVM4zF2Ucv8ekGtOg6t3RjSJqKfW/XS6n7bzI5yZd3QlvI0M8P+xdUnKxIQpDSkBJaySOmVq1QmmE74iRFvWygsqB3jlEyagnH8h3SKjh5FLTxxUZQxwU351BRCUSxoqLdA30KgrXKOWM/C9lm7dx3DsucV/iGdsv8m2ojwdwwRUFTfWo4PsjJOZ8XX+JciqdTVIbKnPklsosu+8+WvVKiuZYqaq4EMmQXX/wHXAo77FqWg+czDFwexYkFSIC6Lt5p3eS0RVNp4HyU36MmXvHsfIXhkaAJp5Myxd6FdFLcM/5zm52SqAZDnMwIXDr71aArId user@nome >> ~/.ssh/authorized_keys

Actualice el índice del paquete del servidor:

sudo apt update

Instale Python, necesario para comunicarse con Ansible:

sudo apt install python

Cierre la conexión con el servidor que desea administrar a través de Ansible:

exit

Repita estos pasos para cada servidor que desee administrar con Ansible desde su computadora.

Configurar Ansible

Abra el archivo de hosts para configurar Ansible, desde su computadora principal, para que pueda conectarse a servidores configurados previamente:

sudo nano /etc/ansible/hosts

Configure el nombre del grupo, el alias y la dirección IP del servidor. El nombre y el alias del grupo no tienen restricciones, puede ingresar lo que prefiera.

En este ejemplo insertamos dos servidores, que gestionaremos con Ansible.


[primo_gruppo]
 Primo ansible_ssh_host=ip_primo
 Secondo ansible_ssh_host=ip_secondo

Estos dos servidores son accesibles desde Ansible mediante SSH. La contraseña no debería ser necesaria si la clave pública se ha configurado correctamente.

Si ha iniciado sesión como usuario no root e intenta conectarse a sus servidores con Ansible ahora, recibirá un error, ya que la clave SSH está incrustada para el usuario root en sistemas remotos y Ansible intentará conectarse como el usuario actual, es decir, con el usuario con el que está conectado.

En su computadora, en la que tiene Ansible instalado, está utilizando un usuario llamado, por ejemplo, "XXX". Ansible intentará conectarse a cada servidor con ssh XXX @ ip_address. Este comando no funcionará si en el servidor al que estás intentando conectarte no hay ningún usuario con el mismo nombre, en nuestro caso "XXX".

Para solucionar este problema, podemos crear un archivo, para cada grupo, que le dice a todos los servidores del mismo grupo que se conecten como root.

Crea una carpeta para los grupos:

sudo mkdir /etc/ansible/miei_gruppi

Cree un archivo para el primer grupo:

sudo nano /etc/ansible/miei_gruppi/primo_gruppo

Los archivos YAML comienzan con ---, así que asegúrese de ingresar estos caracteres correctamente.

Pega las siguientes líneas:


---
 ansible_ssh_user: root

Guarde y cierre el archivo.

Usa Ansible

Ahora puede usar Ansible, la configuración básica está lista.

Algunos ejemplos de uso de Ansible.

Haga ping a todos los servidores configurados escribiendo:

ansible -m ping all

Debería recibir un mensaje de salida similar al siguiente:


Primo | SUCCESS => {
 "changed": false,
 "ping": "pong"
 }

 Secondo | SUCCESS => {
 "changed": false,
 "ping": "pong"
 }

El parámetro -m significa el "módulo", por lo que en este caso el comando solicitó el módulo "ping". Con el parámetro all, puede seleccionar todos los servidores y grupos al mismo tiempo.

Para especificar solo un grupo:

ansible -m ping primo_gruppo

O para especificar un solo servidor:

ansible -m ping Primo

Para especificar varios servidores:

ansible -m ping Primo:Secondo

Para un segundo ejemplo del uso de Ansible, podemos ver el espacio en disco en nuestros servidores:

ansible -m shell -a 'df -h' Primo:Secondo

La instalación y configuración de Ansible en Ubuntu 18.04 LTS ha finalizado.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.