Cómo usar Vars adicionales en Ansible

Cómo usar Vars adicionales en Ansible
Ansible ofrece flexibilidad mediante el uso de variables. Las variables le permiten establecer valores y condiciones personalizados al ejecutar libros de jugadas Ansible. Sin embargo, aunque las variables en un libro de jugadas son útiles, debe editar el libro de jugadas cuando necesite hacer cambios.

Puede superar esto utilizando la entrada externa a un libro de jugadas Ansible utilizando variables adicionales.

Este artículo aprenderá cómo usar variables adicionales ansibles para proporcionar valores personalizados o dinámicos sin editar los libros de jugadas.

¿Qué es ansible extra vars??

Ansible Extra Vars es una característica que le permite incluir más flexibilidad en sus libros de jugadas Ansible al proporcionarle la capacidad de especificar valores dinámicos al ejecutar el libro de jugadas.

Ansible adicionales Vars son útiles cuando:

  1. Tiene una variable cuyo valor puede cambiar más de una vez al ejecutar el libro de jugadas.
  2. No necesita editar el libro de jugadas para cambiar el valor de la variable en el libro de jugadas.

Cómo usar ansible extra vars

Ansible Extra Vars sobrescribirá el valor almacenado en un libro de jugadas o un archivo variable. También se llaman variables de línea de comandos.

Veamos ahora un ejemplo de cómo usar vars adicionales.

Un ejemplo típico de los VAR adicionales en Ansible es cuando codifica el valor de los hosts. Suponga que tiene un libro de jugadas que se ejecuta en los anfitriones con el grupo "Desarrollo" cuando necesite ejecutar el libro de jugadas sobre hosts de "producción", se verá obligado a editar el libro de jugadas.

Esto puede ser agotador y propenso a los errores, especialmente en una extensa colección de grupos anfitriones.

Para resolver este problema, podemos usar la función Vars adicional Ansible. Podemos definir una variable que represente el grupo de hosts y especificar su valor al ejecutar el libro de jugadas.

Considere el libro de jugadas de ejemplo a continuación:

---
- Hosts: "grupo"
convertirse en: si
gateo_facts: no
tareas:
- Nombre: installapache
apto:
Nombre: httpd
Estado: presente
update_cache: sí

Ahora que tenemos un libro de jugadas de ejemplo como el anterior, podemos pasar el valor a la variable "grupo" utilizando la opción -extra -vars mientras se ejecuta el libro de jugadas.

Un comando de ejemplo es como se muestra:

ejemplo.yml -extra -vars "grupo = producción"

Para cambiar el grupo a "desarrollo", no necesita editar el libro de jugadas; pasar la variable como se muestra:

ejemplo.YML --Extra-Vars "Group = Desarrollo"

El siguiente ejemplo utiliza VAR adicionales para especificar el servicio para comenzar en función de la distribución de destino.

---
- Hosts: "grupo"
convertirse en: si
gateo_facts: no
tareas:
- Nombre: installapache
servicio:
Nombre: "pkg_name"
Estado: comenzó

Usando el libro de jugadas anterior, podemos especificar las variables adicionales como:

ejemplo.YML --extra-Vars “Group = Desarrollo PKG_NAME = APOCHE2"

Si desea pasar variables con espacios, utiliza comillas únicas como se muestra en el ejemplo a continuación:

ejemplo.yml --extra -vars "protocol = 'all -sslv2'"

Conclusión

Este tutorial ilustra cómo implementar y usar variables adicionales ansibles para agregar flexibilidad a los libros de jugadas. Consulte la documentación para obtener más información.