Ansible

Es una herramienta de orquestación que automatiza la gestión de configuraciones y el despliegue de aplicaciones. Nos permitirá gestionar nuestros servidores sin necesidad de agente de forma sencilla y funcionando en paralelo.

Para poder usar ansible sólo se necesita un equipo controlador con ansible instalado y conexión ssh con los equipos a gestionar , y en los nodos remotos tener instalado python .

Utiliza YAML para describir las acciones a realizar en los diferentes nodos remotos.

Instalación en Centos

Instalación en Centos

Para comprobar si todo está correcto ejecutamos

Conceptos básicos

Inventario . Archivo donde agrupamos una lista de servidores. Por defecto en /etc/ansible/hosts

Playbooks. Es un archivo donde listamos las tareas que de deben ejecutar. Se escribe en formato YAML

Task. Un bloque dentro del Playbook , en el que definimos una acción concreta a realizar.

Includes

Roles

Comandos básicos

Configurar el acceso a los clientes

Verificar que tenemos acceso a los clientes

Generamos nuestras llaves ssh Una vez finalizado el proceso de generación disponemos de 2 ficheros: ~/.ssh/id_rsa y ~/.ssh/id_rsa.pub

El siguiente paso sería copiar nuestro fichero de llave pública al cliente

si todo ha ido bien ahora deberiamos de poder acceder desde nuestro servidor de ansible al equipo cliente ejecutando

Configurar nuestra lista de clientes

El fichero que viene por defecto para indicar los clientes es /etc/ansible/hosts aunque nosotros podemos definir distintos ficheros según nuestas necesidades.

Editamos es fichero por defecto y definimos los equipos clientes

Para comprobar que todos nuestros nodos reponden podemos realizar un ping.

Si por ejemplo queremos ejecutar un comando en todos nuestros nodos:

Referencias

Ejemplos

https://www.ssh.com/ssh/copy-id

https://voragine.net/linux/acceso-ssh-seguro-servidor-autenticacion-clave-publica

https://blog.deiser.com/es/primeros-pasos-con-ansible

https://www.maquinasvirtuales.eu/docker-swarm-instalar-ansible-awx/