Aller au contenu
Infrastructure as Code medium

Inspecter un Execution Environment Ansible : images, doc, collections, config

8 min de lecture

Logo Ansible

Avant de consommer ou de baser un EE custom dessus, il faut savoir ce qu'il contient. ansible-navigator images ouvre une TUI riche qui détaille la version d'ansible-core, les collections embarquées avec leurs versions, les dépendances Python, les packages système, et même les layers du Containerfile. Cette page passe en revue les 3 EE communautaires majeurs (creator-ee, awx-ee, community-ee-minimal) et explique comment choisir le bon point de départ pour son projet.

À la fin, vous saurez inspecter n'importe quel EE OCI public ou privé, comparer plusieurs EE, et lire la doc d'un module dans le contexte de l'EE plutôt que sur Internet.

  • Inspection TUI avec ansible-navigator images.
  • 8 sections d'un rapport d'inspection (info, layers, OS, system, ansible, collections, Python, version).
  • Comparer 3 EE communautaires sur version, taille, collections.
  • ansible-navigator doc : doc d'un module embarqué.
  • Inspection sans pull : skopeo inspect et crane manifest.
  • creator-ee:latest, awx-ee:latest et community-ee-minimal:latest pull localement.
  • Avoir lu Modes interactifs pour la navigation TUI.
Fenêtre de terminal
ansible-navigator images --eei quay.io/ansible/creator-ee:latest

L'interface TUI affiche 8 sections numérotées :

#SectionContenu
0Image informationID, taille, registre, tag, date
1Image layersLayers du Containerfile multi-stage
2OS releaseUBI 9, RHEL 9, Fedora, version exacte
3System packagesOutput rpm -qa ou dpkg -l
4Ansible versionansible --version (core + collections location)
5Ansible collectionsansible-galaxy collection list formatée
6Python packagespip list, toutes les deps Python
7Python versionMajor.minor exact

Tapez le numéro d'une section pour drill-down. Le 6 (Python packages) liste toutes les deps installées, indispensable pour vérifier qu'une collection a bien ses dépendances satisfaites.

Pour un workflow scripté :

Fenêtre de terminal
# Lister les collections en JSON
podman run --rm quay.io/ansible/creator-ee:latest \
ansible-galaxy collection list --format json | jq '.[]'
# Version ansible-core
podman run --rm quay.io/ansible/creator-ee:latest \
ansible --version | head -1
# Lister Python deps
podman run --rm quay.io/ansible/creator-ee:latest \
pip list --format json | jq '.[].name'

🔍 Observation : ces commandes shell sont utilisables dans la CI pour vérifier qu'un EE contient bien community.kubernetes 5.1.1 avant de pousser un playbook qui en dépend.

EETailleansible-coreCollections clés
creator-ee:latest~1.2 GB2.18.xansible.posix, community.general, kubernetes.core, community.docker, containers.podman + ansible-lint
awx-ee:latest~900 MB2.18.xCollections AWX/Tower, awx.awx, plus orienté run
community-ee-minimal:latest~400 MB2.18.xAucune collection autre que ansible.builtin

Quand choisir quoi :

  • Formation, dev : creator-ee, riche, ansible-lint inclus, autocomplete des collections courantes.
  • AWX self-hosted : awx-ee, par défaut sur AWX, optimisé.
  • Custom EE production : partir de community-ee-minimal et ajouter uniquement ce dont on a besoin → image la plus petite, surface d'attaque minimale.
Fenêtre de terminal
ansible-navigator doc ansible.builtin.copy

TUI riche avec :

  • Synopsis du module.
  • Paramètres typés (string, bool, list...) avec valeurs par défaut.
  • Examples YAML directement copiables.
  • Return values (ce que register: capturera).

🔍 Observation cruciale : la doc affichée est celle de la version embarquée dans l'EE. Si votre EE a community.general 9.0.0 mais que la doc internet est sur la 10.x, vous évitez les paramètres qui n'existent pas encore dans votre version.

Mode CLI :

Fenêtre de terminal
ansible-navigator doc ansible.builtin.copy -m stdout | less
Fenêtre de terminal
ansible-navigator collections --eei quay.io/ansible/creator-ee:latest

Liste structurée, plus lisible que la sortie brute de ansible-galaxy collection list. Drill-down possible sur une collection pour voir ses modules, plugins, rôles.

Quand pull faire ~1 GB pour vérifier la version est trop coûteux (CI, postes contraints), inspectez sans pull :

Fenêtre de terminal
# skopeo (livré avec Podman)
skopeo inspect docker://quay.io/ansible/creator-ee:latest
# crane (Google, plus rapide)
crane manifest quay.io/ansible/creator-ee:latest
crane config quay.io/ansible/creator-ee:latest | jq .config.Labels

Vous obtenez le digest, les labels, la taille sans pull les layers. Économie de bande passante massive si on a beaucoup d'EE à comparer.

Votre playbook utilise kubernetes.core et community.kubernetes. Question : quel EE prendre ?

  1. Vérifier creator-ee :

    Fenêtre de terminal
    podman run --rm quay.io/ansible/creator-ee:latest \
    ansible-galaxy collection list | grep -E 'kubernetes|community'

    kubernetes.core 5.1.1 présent. ✅

  2. Vérifier les Python deps :

    Fenêtre de terminal
    podman run --rm quay.io/ansible/creator-ee:latest \
    pip list | grep -i kubernetes

    kubernetes 31.0.0 présent. ✅

  3. Conclusion : creator-ee suffit pour un projet K8s.

Si rien ne convient : passer au lab ee/builder-custom pour builder un EE custom basé sur community-ee-minimal + collections K8s pinnées.

Le lab ee/inspection (labs/ee/inspection/) automatise la comparaison des 3 EE avec un script inspect.sh et 4 tests pytest.

  • ansible-navigator images est l'outil de référence pour inspecter un EE (8 vues).
  • 3 EE communautaires : creator-ee (riche), awx-ee (AWX), community-ee-minimal (base custom).
  • ansible-navigator doc affiche la doc embarquée dans l'EE, version exacte qui s'exécutera.
  • skopeo inspect / crane manifest pour inspecter sans pull.
  • Cas K8s, Cloud, Windows : creator-ee couvre déjà beaucoup. Custom EE seulement si nécessaire.
  • Avant de baser un EE custom : toujours inspecter ce que la base apporte.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn