Primeros pasos con Ansible en nuestro servidor Fedora

Ahora que tenemos Ansible instalado, podemos empezar a utilizarlo para gestionar y automatizar tareas en nuestros servidores. Vamos a ver algunos de los comandos básicos y cómo podemos trabajar con Ansible.

Comandos Básicos de Ansible

ansible all -m ping
Este comando se utiliza para ejecutar tareas ad-hoc en los hosts definidos en tu inventario.

ansible-playbook nombre_del_playbook.yml
Este comando se utiliza para ejecutar playbooks, que son archivos YAML que definen una serie de tareas a ejecutar en los hosts

ansible-doc -l
Muestra la documentación de los módulos de Ansible.

ansible-galaxy install nombre_del_rol
Administra roles en Ansible Galaxy, un repositorio público de roles Ansible.
En otro tutorial vamos a ver en profundidad como se trabaja con los roles dentro de Ansible.

ansible all -m yum -a "name=httpd state=present"
Para instalar un paquete en los hosts remotos, en este caso, estamos utilizando el módulo yum para instalar el paquete httpd.

ansible all -m systemd -a "name=httpd state=restarted"
Reiniciamos el servicio en los hosts remotos

ansible all -m copy -a "src=/ruta/local/del/archivo dest=/ruta/remota/del/archivo"
¡IMPORTANTE!: Para que copy funcione correctamente, necesitamos definir en nuestro archivo hosts.ini todos los hosts con sus datos para trabajar
Ejemplo de definición en el archivo:
[webservers]
server1.example.com ansible_user=usuario ansible_password=contraseña
[dbservers]
server2.example.com ansible_user=usuario ansible_password=contraseña

Trabajando con Playbooks
Vamos a crear un playbook básico y le vamos a poner de nombre site.yml, este playbook nos va a permitir poder instalar y habilitar apache cada vez que lo ejecutemos:

Para ejecutarlo:

ansible-playbook site.yml

Al ejecutarlo veremos lo siguiente:

Vamos a explicar un poco paso a paso el playbook:
Encabezado del Playbook:

– name: Instalar y configurar Apache en Fedora
hosts: all
become: yes

name: Describe lo que hace el playbook.
hosts: Indica que se aplica a todos los hosts definidos en el inventario (all).
become: Indica que las tareas deben ejecutarse con privilegios de superusuario.
tasks:
tasks: Contiene una lista de tareas a ejecutar.
– name: Actualizar el índice de paquetes DNF
dnf:
update_cache: yes

Esta tarea actualiza el índice de paquetes para asegurarse de que los paquetes se instalen desde el índice más reciente.
– name: Instalar Apache
dnf:
name: httpd
state: present

Esta tarea instala el paquete httpd, que es el servidor Apache en Fedora.
– name: Iniciar y habilitar Apache
systemd:
name: httpd
state: started
enabled: yes

Esta tarea asegura que el servicio httpd esté iniciado y configurado para arrancar automáticamente al inicio del sistema.

¡Gracias por leer el post!, dentro de poco estará subida la segunda parte lectores 👨‍🏫👨‍🏫

Deja un comentario

I’m Luis E. Fagúndez

Bienvenidos a mi página web personal. Mi nombre es Luis, me gusta enseñar, programar y tomar litros y litros de café.

En esta web vas a encontrar materiales sobre educación, programación, Gnu/Linux, software libre y mucho más.

Esta web busca brindar información sobre las asignaturas que imparto en DGETP-UTU, así como proyectos personales y otras cosas.

Gracias por ser parte de esta hermosa comunidad.

Formas de contacto