Lee esto en otros idiomas*:
English, 日本語, Portugues do Brasil, Française, Español.
- Objetivos
- Guía
- Configurar el repositorio Git
- Crear el proyecto
- Crear una plantilla de trabajo y ejecutar un trabajo
- Laboratorio de Desafío: Compruebe el resultado
- ¿Qué hay de un poco de práctica?
Un proyecto de ansible Tower Project es una colección lógica de Playbooks de Ansible. Puede administrar sus playbooks colocándolos en un sistema de administración de código fuente (SCM) compatible con Tower, incluidos Git, Subversion y Mercurial.
Este ejercicio cubre
- Comprender y utilizar un proyecto de Ansible Tower
- Uso de Playbooks de Ansible guardados en un repositorio Git.
- Creación y uso de una plantilla de trabajo ansible
Para esta demostración usaremos playbooks almacenados en un repositorio Git:
https://github.com/ansible/workshop-examples
Ya se ha confirmado un Playbook para instalar el servidor web Apache en el directorio rhel/apache, apache_install.yml
:
---
- name: Apache server installed
hosts: all
tasks:
- name: latest Apache version installed
yum:
name: httpd
state: latest
- name: latest firewalld version installed
yum:
name: firewalld
state: latest
- name: firewalld enabled and running
service:
name: firewalld
enabled: true
state: started
- name: firewalld permits http service
firewalld:
service: http
permanent: true
state: enabled
immediate: yes
- name: Apache enabled and running
service:
name: httpd
enabled: true
state: started
Consejo
Note la diferencia con otros Playbooks que podría haber escrito! Lo más importante es que no hay
become
yhosts
" se establece comoall
.
Para configurar y utilizar este repositorio como un Sistema de Control de Código Fuente (SCM) en Tower, debe crear un Project que utilice el repositorio
- Ir a RESOURCES → Projects en la vista de menú lateral haga clic en el botón verde +. Rellene el formulario
Parámetro | Valor |
---|---|
NAME | Workshop Project |
ORGANIZATION | Default |
SCM TYPE | Git |
Ahora necesita la dirección URL para acceder al repositorio. Vaya al repositorio de Github mencionado anteriormente, elija el botón verde Clone or download a la derecha, haga clic en Use https y copie la URL HTTPS.
Nota
Si no hay Use https para hacer clic, pero un Use SSH, usted está bien: simplemente copie la URL. Lo importante es que copie la dirección URL empezando por https.
Introduzca la dirección URL en la configuración del proyecto:
Parámetro | Valor |
---|---|
SCM URL | https://github.com/ansible/workshop-examples.git |
SCM UPDATE OPTIONS | Marque las tres primeras casillas para obtener siempre una copia nueva del repositorio y actualizar el repositorio al iniciar un trabajo |
- Clic en SAVE
El nuevo proyecto se sincronizará automáticamente después de la creación. Pero también puede hacerlo manualmente: Sincronice el proyecto de nuevo con el repositorio De Git yendo a la vista Projects y haciendo clic en la flecha circular Get latest SCM revision icono a la derecha del proyecto.
Después de iniciar el trabajo de sincronización, vaya a la vista Jobs: hay un nuevo trabajo para la actualización del repositorio de Git.
Una plantilla de trabajo es una definición y un conjunto de parámetros para ejecutar un trabajo Ansible. Las plantillas de trabajo son útiles para ejecutar el mismo trabajo muchas veces. Entonces, antes de ejecutar un Job Ansible desde Tower, debe crear un Job Template que reúna:
-
Inventario: ¿En qué hosts debe ejecutarse el trabajo?
-
Credenciales ¿Qué credenciales se necesitan para iniciar sesión en los hosts?
-
Proyecto: ¿Dónde está el Playbook?
-
¿Qué Playbook para usar?
Bien, vamos a hacer eso: Vaya a la vista Templates, haga clic en el y elija Job Template.
Consejo
Recuerde que a menudo puede hacer clic en la lupa para obtener una visión general de las opciones que puede elegir para rellenar los campos.
Okay, let’s just do that: Go to the Templates view, click the button and choose Job Template.
Parámetro | Valor |
---|---|
NAME | Install Apache |
JOB TYPE | Run |
INVENTORY | Workshop Inventory |
PROJECT | Workshop Project |
PLAYBOOK | rhel/apache/apache_install.yml |
CREDENTIAL | Workshop Credentials |
LIMIT | web |
OPTIONS | tasks need to run as root so check **Enable privilege escalation** |
- Clic SAVE
Puede iniciar el trabajo haciendo clic directamente en el botón azul LAUNCH o haciendo clic en el cohete en la vista general de Job Templates. Después de iniciar la plantilla de trabajo, se re direccionará automáticamente a la descripción general del trabajo, donde puede seguir la ejecución del playbook en tiempo real:
Puesto que esto puede tomar algún tiempo, eche un vistazo más de cerca a todos los detalles proporcionados:
-
Se muestran todos los detalles de la plantilla de trabajo como inventario, proyecto, credenciales y playbook.
-
Además, la revisión real del playbook se registra aquí - esto hace que sea más fácil analizar las ejecuciones de trabajo más adelante.
-
También se registra el tiempo de ejecución con la hora de inicio y finalización, lo que le da una idea de cuánto tiempo toma realmente una ejecución de trabajo.
-
En el lado derecho, se muestra la salida de la ejecución del playbook. Haga clic en un nodo debajo de una tarea y vea que se proporciona información detallada para cada tarea de cada nodo.
Una vez que el trabajo haya terminado, vaya a la vista principal Jobs: todos los trabajos se enumeran aquí, debería ver directamente antes de que el Playbook se ejecute una actualización de SCM. Esta es la actualización de Git que configuramos para el Project en lanzamiento!
Es hora de un pequeño desafío:
- Utilice un comando ad hoc en ambos hosts para asegurarse de que Apache se ha instalado y se está ejecutando.
Ya has pasado por todos los pasos necesarios, así que prueba esto por ti mismo.
Consejo
¿Qué pasa con 'systemctl status httpd'?
Advertencia
Solución a continuación
-
Ir a Inventories → Workshop Inventory
-
En la vista HOSTS seleccione todos los hosts y haga clic en RUN COMMANDS
-
Rellene lo siguiente:
Parámetro | Valor |
---|---|
MODULE | command |
ARGUMENTS | systemctl status httpd |
MACHINE CREDENTIALS | Workshop Credentials |
- Clic en LAUNCH
Aquí está una lista de tareas:
Advertencia
Por favor, asegúrese de terminar estos pasos, ya que el siguiente capítulo depende de él!
-
Crear un nuevo inventario llamado
Webserver
y hacer sólonode1
miembro del mismo. -
Copiar la plantilla
Install Apache
utilizando el icono de copia en la vista Templates -
Cambiar el nombre a
Install Apache Ask
-
Cambiar la configuración INVENTORY del proyecto para que solicite el inventario en el lanzamiento
-
GUARDAR
-
Inicie la plantilla
Install Apache Ask
. -
Ahora solicitará el inventario que se utilizará, elija el inventario del
Webserver
y haga clic en LAUNCH -
Espere hasta que el trabajo haya terminado y asegúrese de que se ejecuta sólo en
node1
Consejo
El trabajo no cambió nada porque Apache ya estaba instalado en la última versión.
Navegación
Ejercicio anterior - Next Exercise
Haga clic aquí para volver al Taller Ansible for Red Hat Enterprise Linux