¿Cómo instalar y configurar Ansible en Ubuntu?

Introducción a Ansible en Ubuntu para un mejor aprovisionamiento del entorno y gestión de la configuración.


La gestión de la configuración es una etapa crucial en el ciclo de vida de DevOps. Ayuda en la automatización y orquestación de la infraestructura de TI..

Existen varias herramientas para la gestión de la configuración, por ejemplo, Puppet, Ansible, Chef, SaltStack. Y por supuesto, Ansible que es una de las herramientas más populares actualmente en DevOps. Puede administrar miles de servidores y su infraestructura de TI completa con facilidad.

Cubriremos lo siguiente en este artículo.

  • Instalación Ansible
  • Intercambio de claves SSH
  • Configuración de cliente ansible
  • Prueba Ansible

Si eres un principiante absoluto, mira esta publicación de introducción de Ansible.

Introducción Ansible para Principiantes

Instalación Ansible

Para simplificar, intentemos usar Ansible en dos servidores. Uno será ansible-server y otro ansible-client con la siguiente IP.

  • servidor ansible – 10.0.0.1
  • ansible-client – 10.0.0.25

La instalación es sencilla … lo siguiente debe hacerse en todos los servidores donde desea utilizar Ansible. En este caso, en los dos servidores anteriores.

  • Ejecute el siguiente comando para instalar el software necesario requerido para instalar ansible.

[correo electrónico protegido]: ~ # apt install software-properties-common

  • Instale el repositorio con el paquete ansible.

[correo electrónico protegido]: ~ # apt-add-repository –yes –update ppa: ansible / ansible

  • Actualice la herramienta de empaquetado avanzada (apt)

[correo electrónico protegido]: ~ # actualización apta

  • Y, finalmente, ejecute el siguiente comando para instalar

[correo electrónico protegido]: ~ # apt install ansible

Tomará unos segundos instalar el paquete necesario.

¿Cómo se asegura de que esté instalado y su versión??

Pues es fácil. Puede usar la sintaxis de versión con ansible para averiguar como se muestra a continuación.

[correo electrónico protegido]: ~ # ansible –version
ansible 2.8.1
archivo de configuración = /etc/ansible/ansible.cfg
ruta de búsqueda del módulo configurado = [u ‘/ root / .ansible / plugins / modules’, u ‘/ usr / share / ansible / plugins / modules’]
ubicación del módulo de python ansible = /usr/lib/python2.7/dist-packages/ansible
ubicación ejecutable = / usr / bin / ansible
versión de Python = 2.7.15+ (predeterminado, 27 de noviembre de 2018, 23:36:35) [GCC 7.3.0]
[correo electrónico protegido]: ~ #

Como puede ver, Ansible 2.8.1 está instalado y proporciona la información necesaria, como la ubicación del archivo de configuración, el módulo de Python.

A continuación, tenemos que hacer un intercambio de claves SSH para servir y un cliente puede hablar entre ellos.

Intercambio de claves SSH

Ansible se conecta a su cliente a través de SSH (Secure Shell).

Primero generaremos una clave pública en el servidor ansible, que debe copiarse en el cliente ansible.

Asegúrese de haber iniciado sesión como usuario root.

  • Genere la clave usando el comando ssh-keygen como se muestra a continuación

[correo electrónico protegido]: ~ # ssh-keygen
Generando pares de claves rsa públicas / privadas.
Ingrese el archivo en el que guardará la clave (/root/.ssh/id_rsa):
Ingrese la frase de contraseña (vacía para ninguna frase de contraseña):
Ingrese la misma frase de contraseña nuevamente:
Su identificación se ha guardado en /root/.ssh/id_rsa.
Su clave pública se ha guardado en /root/.ssh/id_rsa.pub.
La huella digital clave es:
SHA256: cDapZBESo + 8XcbXupbtILkFrklUSpwa70Y1c7yH5K1A [correo electrónico protegido]
La imagen randomart de la clave es:
+—[RSA 2048]—-+
El | =. + oo. El |
El | . B.B. =. El |
El | . o @oE + |
El | . * oO *. El |
El | o ++. S +. El |
El | .o + o. + |
El | .o..o + |
El | ..o o. El |
El | .o o. El |
+—-[SHA256]—–+
[correo electrónico protegido]: ~ #

Como habrás notado, ha generado una clave pública en la carpeta .ssh. La ruta completa es /root/.ssh/id_rsa.pub

Nota: asegúrese de que los archivos de clave pública y privada no sean legibles en todo el mundo. Puede enumerar los archivos para verificarlos.

  • Vaya a la carpeta .ssh

cd /root/.ssh

  • Listar los archivos

[correo electrónico protegido]: ~ # ls -l
-rw ——- 1 raíz raíz 1679 19 de junio 00:37 id_rsa
-rw ——- 1 raíz raíz 404 19 de junio 00:37 id_rsa.pub

Si nota que el permiso es incorrecto, puede cambiarlo utilizando el comando chmod

Ex:

chmod 400 id_rsa
chmod 400 id_rsa.pub

Copiemos la clave pública al host Ansible cuya dirección IP es 192.168.56.101

[correo electrónico protegido]: ~ / .ssh # ssh-copy-id -i ~ / .ssh / id_rsa.pub [correo electrónico protegido]
/ usr / bin / ssh-copy-id: INFO: Fuente de la (s) clave (s) a instalar: "/root/.ssh/id_rsa.pub"
No se puede establecer la autenticidad del host ’10 .0.0.25 (10.0.0.25) ‘.
La huella digital clave de ECDSA es SHA256: eXduPrfV0mhxUcpsZWg + 0oXDim7bHb90caA / Rt79cIs.
¿Estás seguro de que deseas continuar conectando (sí / no)? si
/ usr / bin / ssh-copy-id: INFORMACIÓN: intentando iniciar sesión con las nuevas claves, para filtrar las que ya están instaladas
/ usr / bin / ssh-copy-id: INFO: quedan 1 claves por instalar; si se le solicita, ahora debe instalar las nuevas claves
[correo electrónico protegido]contraseña de

Número de claves agregadas: 1

Ahora intente iniciar sesión en la máquina, con: "ssh ‘[correo electrónico protegido]‘"
y verifique para asegurarse de que solo se agregaron las claves que deseaba.

[correo electrónico protegido]: ~ / .ssh #

Puede ver en la salida anterior, 1 clave ha sido agregada exitosamente. Esto indica que se intercambia la clave SSH.

A continuación, configuraremos un cliente Ansible.

Ansible Client Setup

Supongo que ya ha seguido los pasos de instalación de Ansible en el servidor del cliente como se explicó en los pasos anteriores.

La configuración del cliente o host no es más que informar al servidor Ansible de los clientes. Y, para hacerlo:

  • Inicie sesión en el servidor Ansible
  • Vaya a / etc / ansible
  • Agregue lo siguiente en el archivo de hosts utilizando su editor favorito

[Cliente]
nodo1 ansible_ssh_host = 10.0.0.25

  • Guarde el archivo de hosts

Prueba Ansible

Si ha seguido todos los pasos correctamente, obtendrá un ÉXITO mensaje cuando ejecuta el siguiente comando en el servidor ansible.

[correo electrónico protegido]: ~ / .ssh # ansible -m Cliente de ping
nodo1 | ÉXITO => {
"ansible_facts": {
"discover_interpreter_python": "/ usr / bin / python3"
},
"cambiado": falso,
"silbido": "apestar"
}
[correo electrónico protegido]: ~ / .ssh #

Thea hace ping al cliente para probar la conectividad y confirmar si es bueno o no.

Conclusión

Espero que esto te dé una idea para comenzar con la instalación y jugar. Estén atentos para más tutoriales de Ansible o también revisen esto Curso de Udemy Mastering Ansible.

TAGS:

  • Ansible

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map