Diferencia entre revisiones de «Inventarios»
| (No se muestran 7 ediciones intermedias del mismo usuario) | |||
| Línea 8: | Línea 8: | ||
=== Ejemplo de fichero de inventario: === | === Ejemplo de fichero de inventario: === | ||
<syntaxhighlight lang="ini"> | |||
<syntaxhighlight> | |||
ansible_master | ansible_master | ||
| Línea 44: | Línea 43: | ||
En este ejercicio se debe crear un inventario de Ansible con distintos grupos de hosts y relaciones entre ellos. | En este ejercicio se debe crear un inventario de Ansible con distintos grupos de hosts y relaciones entre ellos. | ||
El archivo de inventario debe ubicarse en: | El archivo de inventario debe ubicarse en: | ||
<code>/home/admin/ansible/inventory</code> | <code>/home/admin/ansible/inventory</code> | ||
Define los siguientes grupos y asignaciones: | |||
* <code>servera</code> pertenece al grupo <code>dev</code> | |||
* <code>serverb</code> pertenece al grupo <code>test</code> | |||
* <code>serverc</code> y <code>serverd</code> pertenecen al grupo <code>prod</code> | |||
* <code>servere</code> pertenece al grupo <code>balancers</code> | |||
* El grupo <code>prod</code> es un grupo hijo del grupo <code>webservers</code> | |||
En el mismo archivo de inventario, incluye también: | En el mismo archivo de inventario, incluye también: | ||
* Hosts con alias <code>server1</code> a <code>server5</code>, asignados a las direcciones IP | * Hosts con alias <code>server1</code> a <code>server5</code>, asignados a las direcciones IP <code>10.91.50.1</code> – <code>10.91.50.5</code>, pertenecientes al grupo <code>servers</code> | ||
* Hosts con direcciones IP en el rango <code>192.168.1.10</code> – <code>192.168.1.15</code>, pertenecientes al grupo <code>dbservers</code> | |||
* Hosts con direcciones IP en el rango <code>192.168.1.10</code> – <code>192.168.1.15</code>, | |||
=== | === Resolución === | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
Revisión actual - 10:42 2 ene 2026
Introducción[editar]
Un inventario es un archivo en formato INI, el cual contiene los hostnames o las IPs administrados con Ansible. Los inventarios se usan para declarar grupos y así clasificar los entornos donde trabajar con las ejecuciones de ansible, mediante corchetes podemos declarar grupos para clasificarlos.
Por lo general el fichero de inventario se crearía en un directorio de proyectos Ansible en su directorio personal y a la hora de ejecutar un comando de ansible el inventario se indica con la opción -i.
ansible -i inventory -list-hosts
Ejemplo de fichero de inventario:[editar]
ansible_master
[grupo1]
ansible000
[grupo2]
ansible001
[grupo_secreto]
server1 ansible_ssh_host=10.91.59.110
server2 ansible_ssh_host=10.91.59.111
[grupo_ip]
205.168.20.[11:15]
Además de los grupos declarados en el inventario existen dos grupos más: “all” y “ungrouped”. El primero contiene todas las maquinas del inventario el resto de máquinas que no están vinculadas a ningún grupo, como seria “localhosts”, (si no está declarada en el inventario) formará parte del grupo “ungrouped”.
Búsquedas en el inventario[editar]
[ansible@ansible000 ~]$ ansible all -i inventario --list-host
hosts (3):
ansible_master
ansible000
ansible001
[ansible@ansible000 ~]$ ansible grupo1 -i inventario --list-host
hosts (1):
ansible000
Caso practico[editar]
En este ejercicio se debe crear un inventario de Ansible con distintos grupos de hosts y relaciones entre ellos.
El archivo de inventario debe ubicarse en:
/home/admin/ansible/inventory
Define los siguientes grupos y asignaciones:
serverapertenece al grupodevserverbpertenece al grupotestservercyserverdpertenecen al grupoprodserverepertenece al grupobalancers- El grupo
prodes un grupo hijo del grupowebservers
En el mismo archivo de inventario, incluye también:
- Hosts con alias
server1aserver5, asignados a las direcciones IP10.91.50.1–10.91.50.5, pertenecientes al gruposervers - Hosts con direcciones IP en el rango
192.168.1.10–192.168.1.15, pertenecientes al grupodbservers
Resolución[editar]
[dev]
servera
[test]
serverb
[prod]
serverc
serverd
[balancers]
servere
[webservers:children]
prod
[servers]
server1 ansible_host=10.91.50.1
server2 ansible_host=10.91.50.2
server3 ansible_host=10.91.50.3
server4 ansible_host=10.91.50.4
server5 ansible_host=10.91.50.5
[dbservers]
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15