55 lines
2.1 KiB
Markdown
55 lines
2.1 KiB
Markdown
|
# 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é](https://wiki.libretic.fr/fr/technique/ansible/environnement_developpement)
|
||
|
* Installer les roles et collections nécessaires :
|
||
|
|
||
|
```bash
|
||
|
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
|
||
|
```bash
|
||
|
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/<environnement>/group_vars/awx.yml.
|
||
|
|
||
|
Pour finir la configuration de l'instance awx, lancer le playbook :
|
||
|
|
||
|
```bash
|
||
|
ansible-playbook -i <environnement> configure-awx.yml
|
||
|
```
|