Paso 7: Ansible guías
Esta parte es sólo un ejemplo de lo que es posible con guías de ansible.
Voy a utilizar mi proyecto de prueba para desplegar el monitor de temperatura de frambuesa pi con interfaz web. Utiliza:
script en Python para:
obtener la temperatura de los sensores 1-wire ds18b20, almacenar en base de datos sqlite;
ver una interfaz de usuario web con parcela de temperatura
servidor Apache para servir la página web y ejecutar cgi script para generar la trama de la temperatura.
Estructura de archivos de mi proyecto
-ansible /
-pyrun.py # utilizada para ejecutar la playbook mediante programación.
-inventory.py
-main.yml # es el archivo principal que corro para hacer todas las tareas, incluye actualización características, las tareas de aprovisionamiento y despliegue. Es simple hay proyecto no hay roles y toma de decisiones.
-archivos # es una carpeta para guardar todos los archivos usted necesita copiar a frambuesa pi, por ejemplo público ssh keys
-guías / # es una carpeta para guías de ansible, si quieres tener un conjunto diferente de tareas para escenarios diferentes como actualización que no desee ejecutarlo cada vez.
-vars / # almacena archivos con diferentes variables que necesites como rutas de acceso y permisos, listas de usuario etc..
-plantillas / # almacena los archivos de plantilla de jinja2 para generar cosas diferentes en las máquinas. Lo uso para crear la configuración de apache, pero no es necesario para la configuración sencilla
Para probar que funciona de inventario debe ejecutar prueba módulo 'ping', que devolverá 'pong' si todo va bien. Hacerlo de dos maneras:
-ansible -i ping inventory.py todos -m
-pyrun.py de python y bloque "ejecutar módulos" sin comentarios "ejecutar guías" comentó
Producen salida similar. Opción de Python proporciona más flexibilidad para el seguimiento y capacidad de reacción a los errores en el código.
Si todo va bien intente ejecutar principal playbook:
-ansible-playbook - i inventory.py main.yml todos
-pyrun.py de python y bloque "ejecutar guías" sin comentarios "ejecutar módulos" comentó
Este proceso tomará algún tiempo, dependiendo de qué tan rápido es su enlace descendente y cuántos Rpi tienes.
Al final debe ser capaz de utilizar el enlace de la forma "rpi_ip_adress/cgi-bin/webgui.py" y ver una página web con la carta de temperatura.
Notas Si no funciona
-Existen diferencias en apache2.config para OS diferentes, incluso para Debian 'wheezy' vs 'jessie' he tenido que cambiar el módulo cgi en apache para que ejecute la activación. ¿Alguna idea por qué es así?
-Usted puede faltar permisos correctos en el sistema.
-comprobar si el ansible terminado sin errores o perdido algo.