Introduzione
Se stai studiando per l’esame RHCE EX294 su RHEL 9, una delle novità principali è l’uso di Ansible Navigator insieme agli Execution Environment (EE). In questo articolo vedremo come:
- Installare Ansible Navigator su RHEL 9
- Configurare un Execution Environment Docker
- Eseguire un playbook sicuro al 100%
- Fornire riferimenti a documentazione ufficiale e approfondimenti
Installazione
sudo dnf install ansible-core podman
pip3 install --user ansible-navigator
Se vuoi usare Docker invece di Podman:
# ~/.ansible-navigator.yml
execution-environment:
enabled: true
container-engine: docker
image: quay.io/ansible/creator-ee:latest
Playbook compatibile con EE
- name: Playbook test compatibile con Execution Environment
hosts: localhost
gather_facts: false
become: false
vars:
test_file: "/tmp/esempio.txt"
file_content: "Questo è un file generato da Ansible nel container."
pacchetto_demo: "nano"
tasks:
- name: Scrittura file su /tmp
copy:
dest: "{{ test_file }}"
content: "{{ file_content }}"
mode: '0644'
- name: Installazione pacchetto simulata
block:
- name: Verifica comando di installazione
shell: "echo installazione di {{ pacchetto_demo }} simulata"
register: risultato
- name: Mostra risultato simulato
debug:
var: risultato.stdout
rescue:
- name: Log errori (mai eseguito)
debug:
msg: "Errore durante installazione"
always:
- name: Log finale
debug:
msg: "Blocco terminato"
- name: Creazione file JSON simulato
copy:
dest: /tmp/dati.json
content: |
{
"utente": "demo",
"ambiente": "execution-environment",
"successo": true
}
mode: '0644'
Inventory
all:
hosts:
localhost:
ansible_connection: local
Comando di esecuzione
ansible-navigator run site.yml \
--eei quay.io/ansible/creator-ee:latest \
--ce docker \
--mode stdout \
-i inventory.yml
Verifica finale
cat /tmp/esempio.txt
cat /tmp/dati.json