Herramientas de usuario

Herramientas del sitio


informatica:ciberseguridad:cursos:curso_ansible_automatizacion_it:conceptos_fundamentales

¡Esta es una revisión vieja del documento!


Ansible: Conceptos fundamentales

Ansible en entornos virtuales de Python

  1. Instalar pip3
  2. Instalar python3 virtualenv
  3. Crear un entorno virtual
  4. Activar el entorno virtual
  5. Lanzar una nueva terminal
  6. Instalar Ansible

Si estamos en una Debian, para instalar el módulo de Python que nos permite crear entornos virtuales:

apt install python3-venv

Crearemos un directorio para crear nuestro entorno virtual, por ejemplo:

mkdir /home/pepito/test_venv

Ahora creamos el entorno virtual en ese directorio:

python3 -m venv /home/pepito/test_venv

Si ahora miramos el contenido del directorio /home/pepito/test_venv veremos algo como:

bin  include  lib  lib64  pyvenv.cfg

Lo que nos falta es activar este nuevo entorno virtual:

source /home/pepito/test_venv/bin/activate

Sabremos que estamos en el nuevo entorno si en el prompt aparece primero el nombre de dicho entorno:

(test_venv) pepito@box:/home/pepito/test_venv$

Para instalar Ansible solo para este entorno virtual:

pip3 install ansible

Si miramos dónde está este nuevo binario:

which ansible

Cuando ejecutemos ansible, se ejecutará dentro del entorno virtual.

Para salir del entorno virtual, ejecutamos exit.

Si no quisiésemos usar más ese entorno virtual, podemos borrarlo. Al fin y al cabo no es más que un directorio en el sistema:

rm -rf /home/pepito/test_venv

Introducción a los módulos en Ansible

Los módulos son trozos de código escrito en Python que realizan una determinada tarea.

Si no existe ningún módulo que cumpla nuestras necesidades, existen los run commands:

  • command: ejecuta el comando introducido por el usuario en el equipo destino. Es el más seguro y predecible.
  • shell: ejecuta los comandos en una shell (por ejemplo, /bin/sh) y permite utilizar pipes, etc. Debe usarse con cuidado.
  • script: transfiere un script y lo ejecuta en el equipo destino.
  • raw: ejecuta el comando sin pasar por el control de Ansible

Los módulos ofrecen idempotencia, es decir, da igual las veces que lo ejecutemos, el resultado será el mismo, llegaríamos siempre al estado deseado. Esto con los run commands es más difícil y hay que ser cuidadosos.

Ejecutando módulos de forma standalone

Empezamos con el módulo ping:


Podemos ver información sobre un módulo desde línea de comandos: ansible-doc <nombre_modulo>

Recursos

informatica/ciberseguridad/cursos/curso_ansible_automatizacion_it/conceptos_fundamentales.1683224970.txt.gz · Última modificación: por tempwin