GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Ansible en Ubuntu 20.04 LTS / 21.04

Ansible es una herramienta de configuración y automatización de TI gratuita y de código abierto. Está disponible para casi todas las distribuciones de Linux y puede usarse para administrar sistemas Linux y Windows. Hoy en día, Ansible también se usa para administrar instancias EC2 en AWS, máquinas virtuales y contenedores, etc. No requiere ningún agente en los hosts administrados, pero solo requiere una conexión ssh.

En este artículo, cubriremos cómo instalar la última versión de Ansible en Ubuntu 20.04 LTS/21.04

Requisitos del sistema para Ansible

  • Instalación mínima de Ubuntu 20.04 LTS/21.04
  • usuario sudo con privilegios de root
  • 2 CPU/vCPU
  • 2 GB de RAM o más
  • Disco duro de 20 GB
  • Conexión a Internet (en caso de que no tenga un servidor de repositorio apt local configurado)

Los siguientes son los detalles de configuración de mi laboratorio para la demostración de ansible.

  • Nodo de control de Ansible:control.example.com (192.168.1.112)
  • Nodos administrados de Ansible:node1.example.com y node2.example.com
  • usuario sudo de sysops en nodos de control y administrados con privilegios.

Nota:Aquí el nodo 1 es un sistema Ubuntu y el nodo 2 es un sistema CentOS y el nodo de control es el sistema donde instalaremos ansible. Asumo que ya se crearon sysops en cada host.

Para configurar el usuario sudo (sysops) para ejecutar todos los comandos sin solicitar la contraseña, ejecute el siguiente comando en cada host administrado

echo "sysops ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sysops

Pasemos a los pasos de instalación de Ansible

Paso 1) Aplicar actualizaciones en el nodo de control

Inicie sesión en el sistema Ubuntu 20.04 LTS/21.04 y ejecute los siguientes comandos apt para aplicar las actualizaciones.

$ sudo apt update
$ sudo apt updgrade -y

Una vez que todas las actualizaciones estén instaladas, reinicie el sistema una vez.

$ sudo reboot

Paso 2) Instalar dependencias y configurar Ansible Repository

Instale las dependencias de ansible ejecutando el siguiente comando apt,

$ sudo apt install -y software-properties-common

Una vez que las dependencias estén instaladas, configure el repositorio PPA para ansible, ejecute

$ sudo add-apt-repository --yes --update ppa:ansible/ansible

Ahora actualice el repositorio ejecutando debajo del comando apt.

$ sudo apt update

Paso 3) Instale la última versión de ansible

Ahora estamos listos para instalar la última versión de Ansible en Ubuntu 20.04 LTS/21.04, ejecute el siguiente comando.

$ sudo apt install -y ansible

Después de la instalación exitosa de Ansible, verifique su versión ejecutando el comando

$ ansible --version

Genial, el resultado anterior confirma que la versión 2.9.6 de Ansible está instalada.

Paso 4) Configure las claves SSH y compártalas entre los nodos administrados

Ahora generemos las claves SSH para el usuario sysops desde el nodo de control y compártalas entre los hosts administrados. Ejecute el comando ssh-keygen

$ ssh-keygen

Pulse Intro cuando se le solicite la entrada, la salida se muestra a continuación

Nota:agregue entradas de host administrado en el archivo /etc/hosts en el nodo de control. Esto solo es necesario cuando no tiene un servidor DNS local configurado.

192.168.1.115   node1.example.com
192.168.1.120   node2.example.com

Para compartir las claves ssh entre el control y los hosts administrados, ejecute el ejemplo del comando ssh-copy-id que se muestra a continuación

$ ssh-copy-id node1.example.com
$ ssh-copy-id node2.example.com

La salida de los comandos anteriores se vería a continuación

Paso 5) Crear ansible cfg y archivo de inventario

Siempre se recomienda tener ansible.cfg y un archivo de inventario separados para cada proyecto. Para fines de demostración, estoy usando demo como nombre del proyecto. Por lo tanto, primero cree la carpeta del proyecto ejecutando el comando mkdir.

$ mkdir demo

Copie el archivo ansble.cfg predeterminado en la carpeta ~/demo,

$ cp /etc/ansible/ansible.cfg ~/demo/

Edite el archivo ~/demo/ansible.cfg, configure los siguientes parámetros,

$ vi ~/demo/ansible.cfg

En las secciones predeterminadas

inventory      = /home/sysops/demo/inventory
remote_user = sysops
host_key_checking = False

En la sección de escalamiento de privilegios

become=True
become_method=sudo
become_user=root
become_ask_pass=False

Guarde y cierre el archivo. Ahora, creemos el archivo de inventario que hemos definido en el archivo ~/demo/ansible.cfg.

$ vi ~/demo/inventory
[dev]
node1.example.com

[prod]
node2.example.com

guardar y salir del archivo

Finalmente, indique a ansible que use el archivo ansible.cfg del proyecto de demostración declarando la variable ANSIBLE_CONFIG, ejecute los siguientes comandos,

$ export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg
$ echo "export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg" >> ~/.profile

Ejecute el comando ansible –version desde la carpeta de demostración para verificar la configuración de ansible

$ cd demo/
$ ansible --version

Genial, Ansible ahora está leyendo el archivo de configuración de ansible de nuestro proyecto. Verifiquemos la conectividad de los nodos administrados mediante el comando ad-hoc de ansible,

$ ansible all -m ping

Nota:asegúrese de ejecutar el comando ansible desde la carpeta de demostración.

La salida del comando se vería a continuación:

Este resultado confirma que existe conectividad desde el nodo de control hasta los hosts administrados.

Paso 6) Cree un libro de jugadas de Ansible para instalar paquetes en hosts administrados

Para verificar la instalación y configuración de ansible, creemos un libro de jugadas de muestra llamado packages.yaml en la carpeta de demostración.

$ vi packages.yaml
---
- name: Playbook to Install Packages
  hosts:
    - dev
    - prod
  tasks:
  - name: Install php and mariadb
    package:
      name:
        - php
        - mariadb-server
      state: present

guardar y cerrar el archivo

Ahora ejecute el libro de jugadas usando el comando ansible-playbook,

$ ansible-playbook packages.yaml

Salida:

El resultado anterior confirma que el libro de jugadas se ha ejecutado correctamente. Para verificar el resultado, ejecute los siguientes comandos ad-hoc,

$ ansible dev -m shell -a 'dpkg -l | grep -E "php|mariadb"'
$ ansible prod -m shell -a 'rpm -qa | grep -E "php|mariadb"'

Eso es concluir el artículo. En caso de que haya encontrado este artículo informativo, no dude en compartirlo. En caso de que tenga alguna consulta, déjela en las secciones de comentarios a continuación.

Leer también :Cómo usar controladores en Ansible Playbook


Ubuntu
  1. Cómo instalar Docker en Ubuntu 22.04/20.04 LTS

  2. Cómo instalar PlayOnLinux en Ubuntu 20.04 LTS

  3. Cómo instalar MariaDB en Ubuntu 20.04 LTS

  4. Cómo instalar y configurar Ansible en Ubuntu 18.04 LTS

  5. Cómo instalar Ansible en Ubuntu 18.04 LTS

Cómo instalar Ansible en Ubuntu

Cómo instalar Laravel en Ubuntu 20.04 LTS

Cómo instalar Ansible en Ubuntu 20.04 LTS

Cómo instalar Go en Ubuntu 22.04 LTS

Cómo instalar Go en Ubuntu 18.04 LTS

Cómo instalar Go en Ubuntu 20.04 LTS