Diferencia entre revisiones de «Inventarios»

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda
 
(No se muestran 19 ediciones intermedias del mismo usuario)
Línea 5: Línea 5:


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.
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
<code>ansible -i inventory -list-hosts</code>
 
Ejemplo de fichero de inventario:
 
<pre>
[ansible@ansible000 ~]$ cat inventario


=== Ejemplo de fichero de inventario: ===
<syntaxhighlight lang="ini">
ansible_master
ansible_master


Línea 26: Línea 23:
[grupo_ip]
[grupo_ip]
205.168.20.[11:15]
205.168.20.[11:15]
</pre>
</syntaxhighlight>


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”.
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
=== Búsquedas en el inventario ===
 
<syntaxhighlight lang="ini">
<pre>
[ansible@ansible000 ~]$ ansible all -i inventario --list-host
[ansible@ansible000 ~]$ ansible all -i inventario --list-host
   hosts (3):
   hosts (3):
Línea 42: Línea 38:
   hosts (1):
   hosts (1):
     ansible000
     ansible000
</pre>
</syntaxhighlight>
 


== Caso practico ==
== Caso practico ==


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:
Línea 53: Línea 49:
<code>/home/admin/ansible/inventory</code>
<code>/home/admin/ansible/inventory</code>


== Definición de grupos y hosts ==


Define los siguientes grupos y asignaciones:
Define los siguientes grupos y asignaciones:
Línea 64: Línea 58:
* El grupo <code>prod</code> es un grupo hijo del grupo <code>webservers</code>
* El grupo <code>prod</code> es un grupo hijo del grupo <code>webservers</code>


<pre>
[root@control-node examen]# cat /home/admin/ansible/inventory


En el mismo archivo de inventario, incluye también:
* 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>
=== Resolución ===
<syntaxhighlight lang="ini">
[dev]
[dev]
servera.lab.example.com
servera


[test]
[test]
serverb.lab.example.com
serverb


[prod]
[prod]
serverc.lab.example.com
serverc
serverd.lab.example.com
serverd


[balancers]
[balancers]
servere.lab.example.com
servere


[webservers:children]
[webservers:children]
Línea 84: Línea 84:


[servers]
[servers]
server1 ansible_ssh_host=10.91.50.1
server1 ansible_host=10.91.50.1
server2 ansible_ssh_host=10.91.50.2
server2 ansible_host=10.91.50.2
server3 ansible_ssh_host=10.91.50.3
server3 ansible_host=10.91.50.3
server4 ansible_ssh_host=10.91.50.4
server4 ansible_host=10.91.50.4
server5 ansible_ssh_host=10.91.50.5
server5 ansible_host=10.91.50.5


[dbservers]
[dbservers]
192.168.1.[10-15]
192.168.1.10
</pre>
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15
</syntaxhighlight>

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:

  • servera pertenece al grupo dev
  • serverb pertenece al grupo test
  • serverc y serverd pertenecen al grupo prod
  • servere pertenece al grupo balancers
  • El grupo prod es un grupo hijo del grupo webservers


En el mismo archivo de inventario, incluye también:

  • Hosts con alias server1 a server5, asignados a las direcciones IP 10.91.50.110.91.50.5, pertenecientes al grupo servers
  • Hosts con direcciones IP en el rango 192.168.1.10192.168.1.15, pertenecientes al grupo dbservers

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