Workshop - Plantillas

Read this in other languages:
uk English, japan日本語, brazil Portugues do Brasil, france Française,Español Español.

Tabla de contenidos

Objetivos

Este ejercicio cubrirá las plantillas de Jinja2. Ansible utiliza plantillas de Jinja2 para modificar archivos antes de que se distribuyan a hosts administrados. Jinja2 es uno de los motores de plantillas más utilizados para Python (http://jinja.pocoo.org/).

Guía

Paso 1 - Uso de plantillas en Playbooks

Cuando se ha creado una plantilla para un archivo, se puede implementar en los hosts administrados mediante el módulo template, que admite la transferencia de un archivo local desde el nodo de control a los hosts administrados.

Como ejemplo de uso de plantillas, cambiará el archivo motd para que contenga datos específicos del host.

En primer lugar, cree el directorio templates que contendrá los recursos de plantilla en ~/ansible-files/:

[student<X>@ansible ansible-files]$ mkdir templates

A continuación, en el directorio ~/ansible-files/templates/, cree el archivo de plantilla motd-facts.j2:

Welcome to {{ ansible_hostname }}.
{{ ansible_distribution }} {{ ansible_distribution_version}}
deployed on {{ ansible_architecture }} architecture.

El archivo de plantilla contiene el texto básico que se copiará más adelante. También contiene variables que se reemplazarán en las máquinas de destino individualmente.

A continuación, necesitamos un playbook para usar esta plantilla. En el directorio ~/ansible-files/, cree el Playbook motd-facts.yml:

---
- name: Fill motd file with host data
  hosts: node1
  become: true
  tasks:
    - template:
        src: motd-facts.j2
        dest: /etc/motd
        owner: root
        group: root
        mode: 0644

Usted ha hecho esto un par de veces por ahora:

Debería ver cómo Ansible reemplaza las variables con los facts que descubrió del sistema.

Paso 2 - Laboratorios de desafío

Agregue una línea a la plantilla para listar el kernel actual del nodo administrado.

Consejo

Hacer un grep -i para el kernel

Advertencia

Solución a continuación!


Navegación
Ejercicio anterior - Próximo Ejercicio

Haga clic aquí para volver al Taller Ansible for Red Hat Enterprise Linux