InformáticaLinuxSin categoría

Ansible – Conceptos básicos (Actualizando un linux)

Simplemente algunos conceptos de ansible:

Ansible es un software de orquestación automatización.. ideal para desarrollar tareas centralizadas en Linux y Windows.

Desarrollando en Debian 11.

instalacion:

apt-get install ansible

Basicamente necesitamos un fichero de inventario donde introduciremos los host destinos. yo le llamo inventario.ini (Podrias hacer el fichero en yaml)

Aseguraros de tener correctamente los DNS o la resolución de nombres

Podríamos decir que [debian] es el nombre descriptivo de la familia y donde lo vamos a invocar en el playbook (comandos) podrias poner cualquier nombre [Linux], [Servers] [Pre] [Pro] y agrupar servidores como queramos..

la estructura es como la comentada nombre de servidor / ip / usuario / passwssh

Como se puede ver en el ejemplo de centos podemos hacer conexiones SSH para no poner en texto plano el password. (en el servidor de ansible ssh-keygen copiamos el cat ~/.ssh/id_rsa.pub y lo pegamos en servidores autorizados en el host destino (centos ) nano ~/.ssh/authorized_keys hay un articulo en ssh por el blog)

Antes de hacer un playbook vamos a lanzar el comando ping mediante ansible para ver si la conexión es correcta

ansible -i (ruta del inventario) (Familia a la que llamamos) -m ping

Tenemos ping y pong 🙂

Playbook actualizar Centos

Este playbook actualiza centos desde el servidor de ansible, como podemos imaginar podemos actualizar muchos servidores de manera automatizara deployando desde una tarea cron en el servidor de ansible (aqui una de sus fuerzas)

Cuidado que se trata de yml y el formato del texto importa los espacios se tienen que respetar


  • name: Actualizar servidor Rocky Linux hosts: rocky become: yes become_method: sudo tasks:
    • name: Actualizar todos los paquetes
      yum:
      name: ‘*’
      state: latest

Lanzarlo:

ansible-playbook -i (ruta al inventario ) (Ruta playbook)

ansible-playbook -i /home/jotacee/ansible/inventory.ini /home/jotacee/ansible/Playbooks/updater.yml

Vemos que los parámetros se realizaron correctamente pero no hay cambios porque en este momento ya no tenemos actualizaciones.

Muy interesante el modulo setups que nos devolvera facts con los que podremos jugar en los playbooks

ansible -i /home/jotacee/ansible/inventory.ini rocky -m setup

ya esta por hoy 🙂

Deja una respuesta