Ansible en sí está escrito en Python y tiene una curva de aprendizaje bastante mínima. Ansible sigue un procedimiento de configuración simple y no depende de ningún software adicional, servidores o demonios de clientes. Administra nodos sobre SSH y es paralelo por defecto.
En esta guía, aprenderemos cómo instalar y configurar Ansible en Fedora 35.
Contenido relacionado
- Cómo instalar Python 2 y Python 3 en Fedora 35
- Cómo instalar Python 2 y Python 3 en Rocky Linux/Centos 8
- Cómo instalar y configurar Ansible en Rocky Linux/CentOS 8
Requisitos
Para seguir, asegúrese de tener:
- Un servidor Fedora 35 actualizado
- Acceso a Internet
- Conocimiento de terminal Linux
- Acceso root al servidor o Usuario con acceso sudo
Tabla de contenido
- Asegúrese de que los paquetes del sistema operativo estén actualizados
- Instalación de Python en el servidor Fedora 35
- Instalación de Ansible
- Probando la instalación de Ansible
1. Asegúrese de que los paquetes del sistema operativo estén actualizados
Antes de continuar, siempre se recomienda tener actualizado el sistema y los paquetes instalados.
Use este comando para asegurarse de que los paquetes del sistema estén actualizados:
sudo dnf -y update
2. Instalación de Python en el servidor Rocky Linux/Centos 8
Ansible está escrito en Python. Dado que los programas de python se interpretan, siempre necesitan el tiempo de ejecución de python disponible para ejecutarse. Ansible no es una excepción, necesitamos que Python exista para que podamos ejecutar Ansible. Ansible funciona tanto para Python 2 como para Python 3.
Use esto para instalar python3 en el servidor:
sudo dnf install -y python3
Pip es un administrador de paquetes para Python. Podemos usar pip para administrar paquetes de python python y sus dependencias. También necesitaremos pip para instalar ansible. Use estos comandos para instalar pip:
sudo dnf -y install python3-pip
También se recomienda tener instalada la última versión de pip. Use este comando para actualizar pip
sudo pip3 install --upgrade pip
3. Instalación de Ansible
Hay dos formas que podemos usar para instalar Ansible en nuestro sistema.
yo. Instale ansible desde los repositorios predeterminados de Fedora
Podemos instalar ansible que se proporciona en los repositorios de fedora usando este comando:
sudo dnf install ansible
Verifique la versión de Ansible instalada en su sistema usando este comando:
$ ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/fedora/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.9.7 (default, Aug 30 2021, 00:00:00) [GCC 11.2.1 20210728 (Red Hat 11.2.1-1)]
Instalar ansible usando pip
Pip se puede usar para instalar ansible en nuestro sistema.
pip3 install ansible --user
Como ya instalé ansible en mi caso, obtengo esto
$ pip3 install ansible --user
Requirement already satisfied: ansible in /usr/lib/python3.9/site-packages (2.9.27)
Requirement already satisfied: jinja2 in /usr/lib/python3.9/site-packages (from ansible) (2.11.3)
Requirement already satisfied: PyYAML in /usr/lib64/python3.9/site-packages (from ansible) (5.4.1)
Requirement already satisfied: cryptography in /usr/lib64/python3.9/site-packages (from ansible) (3.4.6)
Requirement already satisfied: cffi>=1.12 in /usr/lib64/python3.9/site-packages (from cryptography->ansible) (1.14.5)
Requirement already satisfied: pycparser in /usr/lib/python3.9/site-packages (from cffi>=1.12->cryptography->ansible) (2.20)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.9/site-packages (from jinja2->ansible) (1.1.1)
Requirement already satisfied: ply==3.11 in /usr/lib/python3.9/site-packages (from pycparser->cffi>=1.12->cryptography->ansible) (3.11)
4. Probando la instalación de Ansible
Ansible usa ssh para conectarse y ejecutar comandos en el servidor remoto. Entonces, para que Ansible funcione, debemos asegurarnos de poder conectarnos al servidor remoto usando ssh.
Para realizar ssh sin contraseña en el servidor remoto, use este comando para generar la clave ssh:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rocky/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rocky/.ssh/id_rsa.
Your public key has been saved in /home/rocky/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vRdPlegZg17H4aMt30jQsiTYe0Jnh0zErhnSnuUQj3g [email protected]
The key's randomart image is:
+---[RSA 3072]----+
| oo . |
| o.ooo+ o|
| .o+*O=o*.|
| ooE**=B..|
| S++X+=o. |
| =+.=o..|
| . . o..|
| . |
| |
+----[SHA256]-----+
Copie la identificación en el servidor remoto:
ssh-copy-id [email protected]
Ahora cree un archivo de inventario:
vim hosts
Con este contenido:
10.2.40.182 ansible_ssh_user=fedora
Use el módulo de ping para probar ansible:
$ ansible -i hosts 10.2.40.182 -m ping 10.2.40.182 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Para los comandos que necesitan sudo, pase la opción --ask-become-pass
. Esto le pedirá una contraseña de escalada de privilegios. Esto puede requerir la instalación de sshpass
programa.
$ ansible -i hosts 10.2.40.182 -m command -a "sudo yum install vim" --ask-become-pass
BECOME password:
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
10.2.40.182 | CHANGED | rc=0 >>
Last metadata expiration check: 0:23:39 ago on Wed 03 Nov 2021 08:35:14 PM UTC.
Package vim-enhanced-2:8.2.3512-1.fc34.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Conclusión
Hemos logrado instalar Ansible y probar la conexión a un servidor remoto en esta guía.