Cómo instalar Ansible en Ubuntu 16.04 (xenial)

Cómo instalar Ansible en Ubuntu 16.04 (xenial)

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.

Este tutorial lo ayudará a instalar Ansible en Ubuntu 16.04 (Xenial) LTS Systems.

Paso 1 - Configurar el acceso 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.

Genere un par de claves SSH en su servidor Ansible:

ssh-keygen 

Copie la clave pública a todos sus hosts remotos que necesita conectarse a través de esta tecla SSH.

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

Paso 2 - Instale Ansible en Ubuntu 16.04

Ansible proporciona su PPA oficial para la instalación en Ubuntu Systems. Ejecute el siguiente comando para configurar Ansible PPA en su Ubuntu 18.04 sistema.

sudo apt-add-repository PPA: Ansible/Ansible 

Luego ejecute los siguientes comandos para instalar Ansible:

sudo apt actualización sudo apt install ansible 

Paso 3 - Configurar hosts y grupos Ansible

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: 192.168.1.15 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/webervers 

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 configuración ansible

Su configuración ansible está lista para probar. Para probar todos los hosts conectividad usando el módulo de ping como:

ansible -m ping todo 

Para probar la conectividad para host o grupo específico de hosts

ansible -m ping web -host1 ## host específico ansible -m ping webservers ## grupo específico  

También puede ejecutar un comando usando el módulo de shell. Por ejemplo, pruebe la memoria gratuita en Web-Host1. También puede realizar la misma tarea para un grupo. Solo use el nombre del grupo en lugar del nombre de host.

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