J'ai créé environ 30 rôles dans ansible. Dois-je les convertir manuellement en playbooks uniques pour les utiliser dans Ansible Tower?
Vous pouvez avoir la structure créée automatiquement: ansible-galaxy init role1
J'ai créé environ 30 rôles dans ansible. Dois-je les convertir manuellement en playbooks uniques pour les utiliser dans Ansible Tower?
Oui, vous pouvez utiliser des rôles dans Tower. Nous faisons quelque chose comme ce qui suit, regrouper les rôles liés dans un playbook (playbook.yml dans cet exemple) puis appeler cela à partir d'un travail Tower.
playbook.yml
---
- name: Playbook exemple
hosts: '{{ target }}'
roles:
- { role: init }
- { role: deploy }
- { role: cleanup }
Arborescence des répertoires
roles/
init/
...
tasks/
main.yml
...
deploy/
...
tasks/
main.yml
...
cleanup/
...
tasks/
main.yml
...
Ensuite, à partir du travail Tower, vous pouvez soit fournir {{ target }}
ou utiliser une enquête pour demander à l'utilisateur.
Vous pouvez déplacer tous les rôles vers le dossier des rôles et les appeler depuis le fichier yml afin qu'ils puissent être exécutés depuis Ansible Tower.
Voici le fichier exemple qui a fonctionné pour moi.
---
- name: Donnez votre nom
roles:
- { role: role1 }
- { role: role2 }
Remarque : créez un dossier avec le nom "roles" là où vous créez ce fichier yml et déplacez tous les rôles dans ce dossier. Voir la disposition du répertoire dans la documentation Ansible pour plus d'informations.
Vous pouvez tirer parti de tower + galaxy pour télécharger automatiquement les rôles. Il suffit de créer un fichier requirements.yml dans vos projets de playbook.
http://docs.ansible.com/ansible-tower/2.4.1/html/userguide/projects.html#ansible-galaxy-support
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.