Introducción
Los flujos de trabajo actuales al estilo EX294 incluyen ansible-navigator porque permite ejecutar la automatización con una interfaz coherente y, cuando están disponibles, entornos de ejecución (execution environments). En esta máquina virtual RHEL 10 de LabEx, la herramienta está disponible y este laboratorio utiliza el modo de ejecución local para que el flujo de trabajo sea estable y rápido.
En este laboratorio, creará el archivo ansible-navigator.yml, configurará el modo stdout, deshabilitará los entornos de ejecución para este flujo de trabajo local en la máquina virtual y ejecutará un playbook con navigator.
Crear un proyecto pequeño para Navigator
En este paso, creará la estructura del proyecto, el inventario y los valores predeterminados de Ansible necesarios para navigator. Navigator lee muchos de los mismos archivos de proyecto que ansible-playbook.
Cree los directorios y acceda al proyecto.
cd /home/labex/project
mkdir -p rhce-ansible/{inventory,playbooks}
cd rhce-ansible
Cree el inventario.
cat > inventory/hosts <<'EOF'
[control]
control ansible_connection=local
EOF
Este inventario utiliza un alias de host local para que el laboratorio pueda centrarse en el comportamiento de navigator en lugar de en SSH. El alias sigue siendo importante: navigator pasa el playbook a Ansible, y Ansible sigue resolviendo hosts: control a través del inventario.
Cree ansible.cfg para que tanto navigator como Ansible utilicen el mismo inventario.
cat > ansible.cfg <<'EOF'
[defaults]
inventory = ./inventory/hosts
retry_files_enabled = False
interpreter_python = auto_silent
EOF
Mantener inventory en ansible.cfg significa que los comandos posteriores de ansible-navigator run no necesitan una opción -i explícita. Esta es la primera conexión entre el flujo de trabajo de navigator y los valores predeterminados normales de un proyecto de Ansible.
Comprobar la disponibilidad de Navigator
En este paso, confirmará que ansible-navigator está instalado y verá su versión. Comprobar la herramienta antes de escribir la configuración facilita la comprensión de posibles fallos.
Antes de ejecutar los comandos en este paso, regrese al directorio del proyecto para que las rutas relativas hagan referencia al proyecto de Ansible.
cd /home/labex/project/rhce-ansible
Ejecute el comando de versión.
ansible-navigator --version
La salida debería mostrar un número de versión de ansible-navigator.
Si este comando funciona, sabrá que la herramienta está instalada antes de comenzar a depurar la configuración. Esa separación es útil: una herramienta faltante y un archivo ansible-navigator.yml mal configurado producen problemas muy diferentes.
Solicite ayuda a navigator sobre el subcomando run.
ansible-navigator run --help | sed -n '1,12p'
La salida de ayuda confirma el nombre del subcomando y muestra que navigator espera una ruta de playbook. No necesita memorizar cada opción aquí; el objetivo es saber cómo solicitar ayuda a la herramienta instalada.
Escribir ansible-navigator.yml
En este paso, creará la configuración de navigator. El ajuste mode: stdout hace que navigator imprima la salida normal en la terminal, lo cual es ideal para laboratorios guiados. El ajuste execution-environment.enabled: false mantiene la ejecución local en esta máquina virtual RHEL 10.
Antes de ejecutar los comandos en este paso, regrese al directorio del proyecto para que las rutas relativas hagan referencia al proyecto de Ansible.
cd /home/labex/project/rhce-ansible
Cree ansible-navigator.yml.
cat > ansible-navigator.yml <<'EOF'
---
ansible-navigator:
mode: stdout
execution-environment:
enabled: false
playbook-artifact:
enable: false
EOF
Tres ajustes son importantes para este laboratorio. mode: stdout mantiene la salida en la terminal, execution-environment.enabled: false le indica a navigator que se ejecute con la instalación local de Ansible, y deshabilitar playbook-artifact evita generar archivos de resultados adicionales que distraerían del flujo de trabajo principal.
Muestre el archivo para verificar la sangría. La sangría en YAML es parte de la sintaxis.
sed -n '1,20p' ansible-navigator.yml
Compruebe que mode, execution-environment y playbook-artifact estén anidados bajo ansible-navigator. Si una de esas claves comienza en la columna incorrecta, es posible que YAML analice una estructura diferente a la que usted pretendía.
Crear un playbook de prueba para Navigator
En este paso, escribirá un breve playbook para que lo ejecute navigator. Un playbook es una lista YAML de plays. Cada play nombra los hosts de destino y las tareas.
Antes de ejecutar los comandos en este paso, regrese al directorio del proyecto para que las rutas relativas hagan referencia al proyecto de Ansible.
cd /home/labex/project/rhce-ansible
Cree playbooks/navigator-check.yml.
cat > playbooks/navigator-check.yml <<'EOF'
---
- name: Check navigator execution
hosts: control
gather_facts: false
tasks:
- name: Write navigator proof file
ansible.builtin.copy:
dest: /home/labex/project/rhce-ansible/navigator-proof.txt
content: navigator ran this playbook
mode: '0644'
EOF
El playbook escribe un archivo en el directorio del proyecto para que tenga evidencia visible después de la ejecución. El módulo copy es idempotente: solo cambia el archivo cuando el contenido o el modo son diferentes del estado solicitado.
Utilice ansible-playbook --syntax-check antes de ejecutarlo. Las comprobaciones de sintaxis detectan errores de estructura en YAML y en el playbook sin cambiar el host.
ansible-playbook playbooks/navigator-check.yml --syntax-check
La comprobación de sintaxis debería imprimir una línea playbook:. No ejecuta tareas, pero confirma que Ansible puede analizar el playbook antes de que navigator lo ejecute.
Ejecutar el playbook con Navigator
En este paso, ejecutará el playbook a través de navigator. El subcomando run ejecuta un playbook, y la configuración del proyecto hace que la salida sea legible en esta terminal.
Antes de ejecutar los comandos en este paso, regrese al directorio del proyecto para que las rutas relativas hagan referencia al proyecto de Ansible.
cd /home/labex/project/rhce-ansible
Ejecute el playbook.
ansible-navigator run playbooks/navigator-check.yml
Un resumen exitoso debería mostrar failed=0. Confirme que se creó el archivo de prueba.
Debido a que mode: stdout está configurado, la salida debería verse similar a una ejecución normal de ansible-playbook. Lea primero el resumen y luego inspeccione el archivo de prueba para conectar el resultado de la tarea reportada con un archivo real en el disco.
cat navigator-proof.txt
Resumen
Ha configurado ansible-navigator para un flujo de trabajo local en LabEx RHEL 10, ha escrito un playbook válido y lo ha ejecutado a través de navigator. Esto le proporciona un modelo de ejecución repetible para futuros laboratorios de RHCE Ansible.


