Editado 5 hace días por ExtremeHow Equipo Editorial
AutomatizaciónAnsibleGestión de ConfiguraciónDevOpsSecuencias de comandosLínea de comandosConfiguración del servidorOrquestaciónGuíasGestión
Traducción actualizada 1 Hace una semana
Gestionar una gran cantidad de servidores y automatizar procesos es una tarea común para los administradores de sistemas y los profesionales de DevOps. Ansible es una herramienta poderosa y simple que puede ayudar en este aspecto. Permite infraestructura como código, gestión de configuración y automatización de tareas. Esta guía te guiará a través de los pasos detallados sobre cómo instalar y usar Ansible en Linux. Cubriremos lo básico necesario para comenzar con Ansible.
Ansible es una herramienta o plataforma de automatización de código abierto utilizada para tareas de TI como implementación de aplicaciones, orquestación, gestión de configuración, en la cual utiliza playbooks para configurar sistemas, desplegar software y orquestar flujos de trabajo avanzados. Es fácil de configurar, no requiere agentes y utiliza YAML (Yet Another Markup Language) para sus playbooks, lo que lo hace bastante simple para que los principiantes lo comprendan y utilicen efectivamente.
Antes de comenzar, asegúrate de tener lo siguiente:
El proceso de instalación de Ansible varía ligeramente dependiendo de la distribución de Linux que estés usando. Veamos algunos de los métodos más comunes:
Sigue estos pasos para instalar Ansible en Ubuntu:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt update
sudo apt install ansible
ansible --version
Si estás usando CentOS o Red Hat Enterprise Linux (RHEL), sigue estos pasos:
sudo yum install epel-release
sudo yum install ansible
ansible --version
Para los usuarios de Fedora, el proceso es bastante similar:
sudo dnf install ansible
ansible --version
Después de instalar Ansible, el siguiente paso es configurarlo. Ansible utiliza SSH para comunicarse con los servidores remotos. Necesitas configurar el acceso SSH a las máquinas host que gestionarás a través de Ansible.
ssh-keygen
ssh-copy-id <user>@<host>
ssh <user>@<host>
El archivo de inventario de Ansible lista los hosts y grupos de hosts que Ansible ha sido instruido para gestionar. Por defecto, se encuentra en /etc/ansible/hosts
.
sudo nano /etc/ansible/hosts
[webservers]<hostname> ansible_host=<IP>[dbservers]<hostname> ansible_host=<IP>
Los playbooks de Ansible son archivos que contienen una serie de tareas que Ansible seguirá. Están escritos en formato YAML, que es fácil de leer y entender. Aquí tienes una estructura básica de un playbook de Ansible:
---
- name: Asegurar que Apache está instalado
hosts: webservers
tasks:
- name: Instalar Apache
apt:
name: apache2
state: present
En el ejemplo anterior:
name
: Describe de qué trata el playbook.hosts
: Especifica los hosts o grupos de hosts a los que se aplica el playbook.tasks
: Lista de tareas a ejecutar, cada tarea tiene su propio name
y action
.Los módulos de Ansible son los bloques de construcción para crear playbooks de Ansible. Cada módulo es un script autónomo que Ansible ejecuta uno a la vez. Los módulos se pueden usar para gestionar hardware, configuración del sistema operativo y más.
Ejemplo de uso del módulo apt
en un playbook:
- name: Instalar Apache
hosts: webservers
tasks:
- name: Instalar paquete Apache
apt:
name: apache2
state: latest
Una vez que hayas escrito el playbook, necesitas ejecutarlo para automatizar las tareas que deseas en tu servidor. Para ejecutar el playbook:
.yml
.playbook.yml
con el nombre de archivo de tu playbook):ansible-playbook playbook.yml
Supongamos que has creado un playbook llamado setup_web.yml
con el siguiente contenido:
- name: Configurar servidor web
hosts: webservers
become: true
tasks:
- name: Instalar Apache
apt:
name: apache2
state: present
- name: Iniciar Apache
service:
name: apache2
state: started
Ejecútalo así:
ansible-playbook setup_web.yml
Después de ejecutarlo, Ansible instala Apache y inicia su servicio en todos los hosts listados bajo el grupo webserver en tu archivo de inventario.
Para gestionar sistemas más complejos, los roles de Ansible te permiten organizar los playbooks en componentes reutilizables. Los roles te permiten dividir un playbook en varios archivos más pequeños que pueden mantenerse más fácilmente. Los roles típicamente contienen tareas, manejadores, plantillas, variables y archivos, organizados en una estructura específica.
ansible-galaxy init <rolename>
/roles
que contiene directorios para tareas, manejadores, etc.- hosts: webservers
roles:
- <rolename>
Esto hará que las funciones definidas en el rol se apliquen al host especificado.
Algunos problemas comunes que puedes encontrar al trabajar con Ansible incluyen:
Ansible es una herramienta versátil para automatizar la provisión, configuración y gestión de servidores y aplicaciones. Con su vasta colección de módulos y playbooks fáciles de entender escritos en YAML, Ansible se convierte en una herramienta indispensable en el kit de herramientas de un administrador de TI. Siguiendo los pasos mencionados, los profesionales pueden instalar fácilmente Ansible utilizando un gestor de paquetes de Linux, configurarlo fácilmente y automatizar tareas en toda su infraestructura con playbooks y roles.
Si encuentras algo incorrecto en el contenido del artículo, puedes