Ansible Command Options

# Ejecutar una tarea en un host remoto utilizando Ansible


$ ansible -m -a ""

# Ejecutar un playbook de Ansible


$ ansible-playbook

# Verificar la conectividad con los hosts definidos en el inventario


$ ansible all -m ping

# Obtener información sobre los hosts definidos en el inventario


$ ansible-inventory --list

# Ejecutar un comando en un grupo específico de hosts


$ ansible -a ""

# Copiar archivos a hosts remotos


$ ansible -m copy -a "src= dest="

# Instalar paquetes en hosts remotos utilizando el módulo 'apt'


$ ansible -m apt -a "name= state="

# Reiniciar un servicio en hosts remotos


$ ansible -m service -a "name= state=restarted"

# Actualizar los repositorios apt en hosts remotos


$ ansible -m apt -a "update_cache=yes"

# Crear un directorio en hosts remotos


$ ansible -m file -a "path= state=directory"

# Eliminar un archivo en hosts remotos


$ ansible -m file -a "path= state=absent"
Ansible Playbook Options

# Ejecutar un playbook de Ansible en modo de comprobación (dry-run)


$ ansible-playbook -i --check

# Ejecutar un playbook de Ansible con privilegios de superusuario


$ ansible-playbook -i --become --ask-become-pass

# Limitar la ejecución de un playbook a un grupo específico de hosts


$ ansible-playbook -i --limit

# Ejecutar un playbook en modo verbose para obtener más información de depuración


$ ansible-playbook -i -v

# Ejecutar un playbook en modo quiet para mostrar solo resultados


$ ansible-playbook -i -q

# Forzar la ejecución de un playbook sin confirmación


$ ansible-playbook -i --force

# Ejecutar un playbook en un orden inverso


$ ansible-playbook -i --step

# Limitar la ejecución de un playbook a un solo host


$ ansible-playbook -i --limit
Ansible Inventory Management

# Crear un archivo de inventario de Ansible


$ nano inventory.ini

# Especificar grupos y hosts en el archivo de inventario


[web_servers] server1.example.com server2.example.com [db_servers] database.example.com

# Definir variables por host en el archivo de inventario


[web_servers] server1.example.com ansible_user=user1 ansible_ssh_pass=password1 [db_servers] database.example.com ansible_user=user2 ansible_ssh_pass=password2

# Utilizar alias para hosts en el archivo de inventario


[web_servers] server1 ansible_host=192.168.1.101 [db_servers] database ansible_host=192.168.1.102

# Agrupar hosts en el archivo de inventario


[all_servers:children] web_servers db_servers

# Utilizar patrones para seleccionar grupos de hosts


$ ansible web_servers -m ping

# Utilizar variables de inventario en playbooks de Ansible


--- - hosts: web_servers tasks: - name: Ensure apache is installed apt: name: apache2 state: present

# Actualizar dinámicamente el inventario de Ansible con scripts personalizados


$ ansible-inventory -i custom_inventory_script.py --list
Ansible Vault Management

# Crear un nuevo archivo Vault en Ansible


$ ansible-vault create new_vault_file.yml

# Editar un archivo Vault existente


$ ansible-vault edit existing_vault_file.yml

# Ver el contenido de un archivo Vault


$ ansible-vault view vault_file.yml

# Cambiar la contraseña de un archivo Vault


$ ansible-vault rekey vault_file.yml

# Desencriptar un archivo Vault para realizar ediciones


$ ansible-vault decrypt vault_file.yml

# Encriptar un archivo sin abrirlo para evitar dejar rastros


$ ansible-vault encrypt vault_file.yml

# Utilizar variables cifradas en playbooks de Ansible


--- - hosts: web_servers tasks: - name: Copy encrypted file copy: src: files/encrypted_file.txt dest: /path/to/destination decrypt: yes

# Utilizar Ansible Vault para proteger datos sensibles, como contraseñas y claves API

Ansible Role Management

# Crear una nueva estructura de roles de Ansible


$ ansible-galaxy init role_name

# Descargar roles de Ansible Galaxy


$ ansible-galaxy install username.role_name

# Eliminar roles de Ansible Galaxy


$ ansible-galaxy remove username.role_name

# Utilizar roles de Ansible en playbooks


--- - hosts: all roles: - common - apache

# Crear roles personalizados para reutilización y modularidad en la configuración de la infraestructura