
Trois outils suffisent pour démarrer avec les EE : Podman, ansible-navigator, ansible-builder. Cette page installe le trio sur AlmaLinux 10 (cible RHCE EX294) et Ubuntu 24.04 LTS (postes dev), pose un fichier ansible-navigator.yml minimal, et valide tout via un premier podman pull + ansible-navigator run de démo.
À la fin, votre poste exécute des playbooks Ansible dans un EE sans avoir besoin de venv local pour ansible-core.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer Podman sur AlmaLinux 10 et Ubuntu 24.04 (rootless par défaut).
- Installer
ansible-navigatorvia pipx (recommandé) ou dnf/apt. - Installer
ansible-buildervia pipx, version v3.1+. - Configurer un fichier
ansible-navigator.ymlprojet par défaut. - Vérifier l’installation avec un pull EE + run de démo.
Prérequis
Section intitulée « Prérequis »- Distribution Linux récente : AlmaLinux 10, Rocky Linux 10, Ubuntu 24.04 LTS ou Fedora 40+.
- Accès internet pour pull les images EE (~1 GB).
- Python 3.11+ sur le système (présent par défaut sur ces distros).
Installation Podman
Section intitulée « Installation Podman »Podman est le runtime conteneur recommandé pour les EE en 2026 (rootless natif, pas de daemon, intégration RHEL).
sudo dnf install -y podmanpodman --version# → podman version 5.x.xsudo apt-get updatesudo apt-get install -y podmanpodman --versionsudo dnf install -y podmanpodman --versionVérification rapide :
podman info | head -20podman run --rm docker.io/library/hello-worldCas particulier : WSL2 (Windows)
Section intitulée « Cas particulier : WSL2 (Windows) »Sur WSL2 Ubuntu 24.04, l’installation Podman fonctionne avec apt natif (plus besoin du dépôt opensuse:kubic qu’on rencontrait il y a 2-3 ans). Mais un piège spécifique à WSL2 fait planter ansible-navigator au premier lancement :
Error: Execution environment support while using podman requires a '/dev/mqueue/' directory.WSL2 ne monte pas /dev/mqueue par défaut, et Podman en a besoin pour les POSIX message queues utilisées par les conteneurs. Le fix tient en deux lignes — automatiser le montage au démarrage de WSL :
# /etc/wsl.conf (sur Windows 11)[boot]command="mkdir -p /dev/mqueue && mount -t mqueue none /dev/mqueue"Le démarrage suivant de WSL exécute la commande automatiquement (wsl --shutdown côté Windows pour forcer un reboot propre).
Sur Windows 10, la section [boot] n’est pas supportée — créer un script podman-wsl.bat à lancer manuellement après chaque démarrage :
wsl ~ -u root -d Ubuntu -e sh -c "mkdir -p /dev/mqueue && mount -t mqueue none /dev/mqueue"Vérification : mountpoint /dev/mqueue doit retourner /dev/mqueue is a mountpoint. Sinon, ansible-navigator plantera silencieusement avec Configuration failed.
Installation ansible-navigator
Section intitulée « Installation ansible-navigator »Méthode recommandée 2026 : pipx — isole l’installation dans son propre venv, pas de pollution du Python système.
# Installer pipx si absentsudo dnf install -y pipx # AlmaLinux/RHELsudo apt-get install -y pipx # Ubuntupipx ensurepathexec $SHELL # recharger le PATH
# Installer ansible-navigatorpipx install ansible-navigatoransible-navigator --version# → ansible-navigator 25.x.xMéthodes alternatives :
# Activer le repo ansible-automation-platform (Subscription Red Hat) ou EPELsudo dnf install -y ansible-navigator# Pas de paquet officiel : passer par pipx ou pippipx install ansible-navigatorpython3 -m venv ~/venvs/ansiblesource ~/venvs/ansible/bin/activatepip install ansible-navigatorInstallation ansible-builder
Section intitulée « Installation ansible-builder »Même logique que pour navigator :
pipx install ansible-builderansible-builder --version# → 3.1.0 ou supérieurConfiguration ansible-navigator.yml
Section intitulée « Configuration ansible-navigator.yml »Un fichier ansible-navigator.yml placé à la racine d’un projet fixe l’EE par défaut, le mode d’exécution, le container engine, les volumes mounts.
ansible-navigator: execution-environment: image: quay.io/ansible/creator-ee:latest container-engine: podman pull: policy: missing # missing | always | never | tag volume-mounts: - src: "{{ HOME }}/.ssh" dest: "/home/runner/.ssh" options: "ro,Z" mode: stdout # stdout | interactive playbook-artifact: enable: false # mettre à true en CI pour replay logging: level: warning # debug | info | warning | errorTrois clés à comprendre :
pull.policy: missing: l’image n’est pull que si absente localement. Bon défaut en dev.alwaysforce le pull à chaque run (utile en CI pour la fraîcheur).volume-mounts: par défaut, le conteneur n’a pas accès à votre~/.ssh. Sans le mount, vos clés ne sont pas disponibles dans l’EE → SSH échoue.:Z= label SELinux pour le bind mount.mode:stdoutpour CI/scripts,interactivepour debug TUI.
Fichier cherché dans cet ordre :
$ANSIBLE_NAVIGATOR_CONFIG(variable d’env)../ansible-navigator.yml(cwd)../ansible-navigator.yaml.~/.ansible-navigator.yml.~/.ansible-navigator.yaml.
Premier test complet
Section intitulée « Premier test complet »# 1. Pull l'EE communitypodman pull quay.io/ansible/creator-ee:latest
# 2. Vérifierpodman images | grep creator-ee
# 3. Créer un playbook minimalcat > ping.yml <<'EOF'---- hosts: localhost gather_facts: false tasks: - name: Ping local ansible.builtin.ping:EOF
# 4. Exécuter dans l'EEansible-navigator run ping.yml -m stdoutSortie attendue :
PLAY [localhost] *********TASK [Ping local] *********ok: [localhost]PLAY RECAP ****************localhost : ok=1 changed=0 unreachable=0 failed=0🎯 Bravo — votre premier playbook a tourné dans un EE.
Dépannage installation
Section intitulée « Dépannage installation »| Symptôme | Cause probable | Solution |
|---|---|---|
podman: command not found | Paquet non installé | sudo dnf install -y podman |
ansible-navigator: command not found après pipx install | PATH non rechargé | pipx ensurepath ; exec $SHELL |
Error: short-name resolution enforced | Image sans registre explicite | Toujours utiliser quay.io/ansible/... complet |
Permission denied sur volume mount | SELinux | Ajouter :Z à -v src:dest:Z |
pull failed: 401 Unauthorized | Registre privé | podman login quay.io |
À retenir
Section intitulée « À retenir »- Trio Podman + ansible-navigator + ansible-builder suffit pour tout le parcours EE.
pipxest la méthode d’install recommandée (isolation propre).ansible-builderv3.1+ est obligatoire pour le schémaversion: 3.ansible-navigator.ymlcentralise la config projet.:Zsystématique sur les volume mounts en environnement SELinux.pull.policy:missingen dev,alwaysen CI.