GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar Ansible en Rocky Linux/CentOS 8

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 Rocky Linux/CentOS 8.

Contenido relacionado

  • Cómo instalar Python 2 y Python 3 en Rocky Linux/Centos 8
  • Cómo instalar Python 2 y Python 3 en Fedora 35
  • Cómo instalar y configurar Ansible en Fedora 35

Requisitos

Para seguir, asegúrese de tener:

  • Un servidor Rocky Linux/Centos 8 actualizado
  • Acceso a Internet
  • Conocimiento de terminal Linux

Tabla de contenido

  1. Asegúrese de que los paquetes del sistema operativo estén actualizados
  2. Instalación de Python en el servidor Rocky Linux/Centos 8
  3. Instalación de Ansible
  4. 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. Instalar ansible usando el repositorio EPEL

Paquetes adicionales para Enterprise Linux (o EPEL) es un grupo de interés especial de Fedora que crea, mantiene y administra un conjunto de paquetes adicionales de alta calidad para Enterprise Linux. Agregue el repositorio EPEL a su sistema Rocky Linux/Centos 8 usando este comando:

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Luego podemos instalar ansible que se proporciona en el repositorio de EPEL 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.25
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/rocky/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.8 (default, Sep 21 2021, 18:40:00) [GCC 8.4.1 20200928 (Red Hat 8.4.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.6/site-packages (2.9.25)
Requirement already satisfied: jinja2 in /usr/lib/python3.6/site-packages (from ansible) (2.10.1)
Requirement already satisfied: PyYAML in /usr/lib64/python3.6/site-packages (from ansible) (3.12)
Requirement already satisfied: cryptography in /usr/lib64/python3.6/site-packages (from ansible) (3.2.1)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3.6/site-packages (from cryptography->ansible) (1.11.0)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/lib64/python3.6/site-packages (from cryptography->ansible) (1.11.5)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.6/site-packages (from jinja2->ansible) (0.23)
Requirement already satisfied: pycparser in /usr/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography->ansible) (2.14)

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.


Cent OS
  1. Cómo instalar y configurar docker en Rocky Linux/Centos 8

  2. Cómo instalar y configurar Redis 6 en Rocky Linux/Centos 8

  3. Cómo instalar Erlang en Rocky Linux/Alma Linux/CentOS 8

  4. Cómo instalar y usar Podman en Rocky Linux/Alma Linux/Centos 8

  5. Cómo instalar y configurar Elasticsearch en Rocky Linux 8

Cómo instalar Fish Shell en CentOS 8 y Rocky Linux 8

Cómo instalar Webmin en CentOS 8 y Rocky Linux 8

Cómo instalar y configurar Jenkins en Rocky Linux/Centos 8

Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8

Cómo instalar y configurar OpenCV en Rocky Linux 8.4

Cómo instalar y configurar Ansible AWX en Rocky Linux 8.3 y CentOS 8