Instalación de Ansible y verificación del intérprete Python
En este primer paso, instalaremos Ansible y examinaremos el intérprete Python predeterminado que utiliza. Esto nos ayudará a comprender la configuración base antes de realizar cualquier cambio.
Instalación de Ansible
Comencemos instalando Ansible en el sistema:
sudo apt update
sudo apt install -y ansible
Esto instala la última versión de Ansible disponible en los repositorios de Ubuntu. Después de que se complete la instalación, podemos verificar que Ansible se instaló correctamente comprobando su versión:
ansible --version
Debería ver una salida similar a esta:
ansible [core 2.12.0]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/labex/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /home/labex/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.10.x (default, Ubuntu 22.04) [GCC 11.2.0]
jinja version = 3.0.3
libyaml = True
Observe que la salida incluye la versión de Python que se está utilizando. Esta es información importante, ya que nos indica qué intérprete Python está configurado actualmente para usar Ansible.
Creación de un archivo de inventario simple
Para que Ansible funcione, necesitamos un archivo de inventario que enumere los hosts que queremos administrar. Creemos un archivo de inventario simple:
- En el WebIDE, cree un nuevo archivo haciendo clic en el icono "Nuevo archivo" en el panel del Explorador.
- Nombre el archivo
inventory.ini
- Agregue el siguiente contenido al archivo:
[local]
localhost ansible_connection=local
Este archivo de inventario define un grupo llamado local con solo un host - localhost - y especifica que queremos conectarnos a él directamente en lugar de a través de SSH.
Verificación del intérprete Python en el objetivo
Ahora, verifiquemos qué intérprete Python usará Ansible en nuestro host de destino:
ansible -i inventory.ini local -m setup -a "filter=ansible_python*"
Este comando ejecuta el módulo de configuración de Ansible, que recopila información sobre el host, filtrando la información relacionada con Python. Debería ver una salida que contenga detalles sobre el intérprete Python que se está utilizando:
localhost | SUCCESS => {
"ansible_facts": {
"ansible_python": {
"executable": "/usr/bin/python3",
"has_sslcontext": true,
"type": "cpython",
"version": {
"major": 3,
"micro": 10,
"minor": 10,
"releaselevel": "final",
"serial": 0
},
"version_info": [
3,
10,
10,
"final",
0
]
},
"ansible_python_version": "3.10.10"
},
"changed": false
}
Esto confirma que Ansible está utilizando Python 3 en el host de destino. De forma predeterminada, Ansible intenta utilizar el mejor intérprete Python disponible en el sistema de destino.