files | ||
inventory/prod | ||
roles | ||
vars | ||
.envrc | ||
.gitignore | ||
.novops.yml | ||
ansible.cfg | ||
CHANGELOG.md | ||
configure-awx.yml | ||
LICENSE | ||
README.md | ||
setup-env.yml |
AAP - Ansible Automation Platform
Installe un environnement ansible et AWX sur la base de k3s.
Inspiration :
- https://ansible.readthedocs.io/projects/awx-operator/en/latest/index.html
- https://github.com/kurokobo/awx-on-k3s/tree/main
Prérequis
- Environnement de développement préparé
- Installer les roles et collections nécessaires :
ansible-galaxy role install -f -r roles/requirements.yml -p roles/
ansible-galaxy collection install -f -r collections/requirements.yml -p collections/
Composition d'un environnement
Un environnement est composé d'une machine ansible et d'une machine awx.
La machine ansible est utilisée :
- pour le développement des projets ansible jusqu'à leur mise en production dans AWX
- pour la mise à disposition auprès des playbooks ansible (de la machine ansible ou awx) des ressources internes nécessaires à la bonne exécution des playbooks et qui ne doivent pas être inclus dans les projets git, par exemple :
- les binaires
- les certificats (renouvelables indépendamment des versions de projet)
La machine awx est utilisée pour l'exécution des playbooks de production et leur orchestration.
Création / configuration d'un environnement
- Création préalable des machines virtuelles mentionnées dans l'inventaire
- Poursuivre avec la configuration de l'environnement
ansible-playbook -i <environnement> setup-env.yml
Préparation de l'instance AWX
Le playbook configure-awx.yml permet de configurer dans AWX les bases de configuration nécessaires pour la bonne mise en service des autres projets qui y seront configurés.
Les paramétrages par défaut des droits implantés l'instance awx sont définis dans vars/awx.yml.
L'instance awx à configurer et la version de l'environnement d'exécution awx qui y sera configuré sont définies par environnement, dans inventory//group_vars/awx.yml.
Pour finir la configuration de l'instance awx, lancer le playbook :
ansible-playbook -i <environnement> configure-awx.yml