Estoy trabajando en varios playbooks de Ansible para activar una nueva instancia de servidor. Hay aproximadamente 15 libros de jugadas diferentes que necesito ejecutar en un orden específico para activar un servidor con éxito.
Mi pensamiento inicial fue escribir un script de shell que se ejecute ansible-playbook playbook_name.yml
y duplicar una entrada para cada libro de jugadas que necesito ejecutar.
¿Existe una forma más inteligente / mejor de hacer esto usando un libro de jugadas maestro y, de ser así, cómo se vería (se agradecen los ejemplos)?
Podría escribir un libro de jugadas monolítico que lo haga todo, pero hay algunas jugadas que se ejecutan como root primero y luego como usuario de sudo más tarde.
ansible
ansible-playbook
nulltek
fuente
fuente
become:
parte al final de cada bloque. Sin embargo, es posible que deba crear una nueva jugada para cambiar el usuario de conexión de usuario root a sudo.Respuestas:
Cree muchos sub-playbooks y agrúpelos mediante declaraciones de inclusión.
Si sus libros de jugadas deben ejecutarse en orden y si todos son obligatorios, cree un libro de jugadas principal e incluya archivos con tareas. Un libro de jugadas siempre debe ser un proceso cerrado.
fuente
- include : books/*.yml
include
está en desuso. docs.ansible.com/ansible/latest/playbooks_reuse.html Creo queimport_playbook: foo
es el camino correcto, pero no tengo mucha experiencia.Para las versiones más nuevas de Ansilbe, puede crear muchos sub-playbooks y agregarlos a través de las declaraciones import_playbook:
fuente