Introdução
Os fluxos de trabalho atuais no estilo EX294 incluem o ansible-navigator porque ele permite executar automações com uma interface consistente e, quando disponível, utilizar ambientes de execução (execution environments). Nesta máquina virtual RHEL 10 do LabEx, a ferramenta está disponível e este laboratório utiliza o modo de execução local para que o fluxo de trabalho seja estável e rápido.
Neste laboratório, você criará o arquivo ansible-navigator.yml, configurará o modo stdout, desativará os ambientes de execução para este fluxo de trabalho local na VM e executará um playbook com o navigator.
Construir um pequeno projeto para o Navigator
Nesta etapa, você criará a estrutura do projeto, o inventário e os padrões do Ansible necessários para o navigator. O navigator lê muitos dos mesmos arquivos de projeto que o ansible-playbook.
Crie os diretórios e entre no projeto.
cd /home/labex/project
mkdir -p rhce-ansible/{inventory,playbooks}
cd rhce-ansible
Crie o inventário.
cat > inventory/hosts <<'EOF'
[control]
control ansible_connection=local
EOF
Este inventário utiliza um alias de host local para que o laboratório possa focar no comportamento do navigator em vez de SSH. O alias ainda é importante: o navigator passa o playbook para o Ansible, e o Ansible ainda resolve hosts: control através do inventário.
Crie o ansible.cfg para que tanto o navigator quanto o Ansible utilizem o mesmo inventário.
cat > ansible.cfg <<'EOF'
[defaults]
inventory = ./inventory/hosts
retry_files_enabled = False
interpreter_python = auto_silent
EOF
Manter o inventory no ansible.cfg significa que os comandos ansible-navigator run posteriores não precisarão de uma opção -i explícita. Esta é a primeira conexão entre o fluxo de trabalho do navigator e os padrões normais de um projeto Ansible.
Verificar a disponibilidade do Navigator
Nesta etapa, você confirmará que o ansible-navigator está instalado e verificará a versão. Verificar a ferramenta antes de escrever a configuração torna as falhas mais fáceis de entender.
Antes de executar os comandos nesta etapa, retorne ao diretório do projeto para que os caminhos relativos se refiram ao projeto Ansible.
cd /home/labex/project/rhce-ansible
Execute o comando de versão.
ansible-navigator --version
A saída deve mostrar um número de versão do ansible-navigator.
Se este comando funcionar, você saberá que a ferramenta em si está instalada antes de começar a depurar a configuração. Essa separação é útil: uma ferramenta ausente e um arquivo ansible-navigator.yml mal configurado produzem problemas muito diferentes.
Peça ajuda ao navigator sobre o subcomando run.
ansible-navigator run --help | sed -n '1,12p'
A saída de ajuda confirma o nome do subcomando e mostra que o navigator espera um caminho de playbook. Você não precisa memorizar todas as opções aqui; o objetivo é saber como pedir ajuda à ferramenta instalada.
Escrever o arquivo ansible-navigator.yml
Nesta etapa, você criará a configuração do navigator. A definição mode: stdout faz com que o navigator imprima a saída normal do terminal, o que é ideal para laboratórios guiados. A definição execution-environment.enabled: false mantém a execução local nesta VM RHEL 10.
Antes de executar os comandos nesta etapa, retorne ao diretório do projeto para que os caminhos relativos se refiram ao projeto Ansible.
cd /home/labex/project/rhce-ansible
Crie o ansible-navigator.yml.
cat > ansible-navigator.yml <<'EOF'
---
ansible-navigator:
mode: stdout
execution-environment:
enabled: false
playbook-artifact:
enable: false
EOF
Três configurações são importantes para este laboratório. mode: stdout mantém a saída no terminal, execution-environment.enabled: false diz ao navigator para executar com a instalação local do Ansible, e desativar o playbook-artifact evita a geração de arquivos de resultados extras que distrairiam do fluxo de trabalho principal.
Exiba o arquivo para verificar a indentação. A indentação YAML é parte da sintaxe.
sed -n '1,20p' ansible-navigator.yml
Verifique se mode, execution-environment e playbook-artifact estão aninhados sob ansible-navigator. Se uma dessas chaves começar na coluna errada, o YAML pode interpretar uma estrutura diferente da que você pretendia.
Criar um Playbook de teste para o Navigator
Nesta etapa, você escreverá um pequeno playbook para o navigator executar. Um playbook é uma lista YAML de plays. Cada play nomeia os hosts de destino e as tarefas.
Antes de executar os comandos nesta etapa, retorne ao diretório do projeto para que os caminhos relativos se refiram ao projeto Ansible.
cd /home/labex/project/rhce-ansible
Crie o arquivo 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
O playbook escreve um arquivo no diretório do projeto para que você tenha uma evidência visível após a execução. O módulo copy é idempotente: ele altera o arquivo apenas quando o conteúdo ou o modo são diferentes do estado solicitado.
Use ansible-playbook --syntax-check antes de executá-lo. As verificações de sintaxe detectam erros de YAML e de estrutura do playbook sem alterar o host.
ansible-playbook playbooks/navigator-check.yml --syntax-check
A verificação de sintaxe deve imprimir uma linha playbook:. Ela não executa tarefas, mas confirma que o Ansible consegue analisar o playbook antes que o navigator o execute.
Executar o Playbook com o Navigator
Nesta etapa, você executará o playbook através do navigator. O subcomando run executa um playbook, e a configuração do projeto torna a saída legível neste terminal.
Antes de executar os comandos nesta etapa, retorne ao diretório do projeto para que os caminhos relativos se refiram ao projeto Ansible.
cd /home/labex/project/rhce-ansible
Execute o playbook.
ansible-navigator run playbooks/navigator-check.yml
Um resumo bem-sucedido deve mostrar failed=0. Confirme se o arquivo de prova foi criado.
Como o mode: stdout está configurado, a saída deve ser semelhante a uma execução normal do ansible-playbook. Leia o resumo primeiro e, em seguida, inspecione o arquivo de prova para conectar o resultado da tarefa relatado com um arquivo real no disco.
cat navigator-proof.txt
Resumo
Você configurou o ansible-navigator para um fluxo de trabalho local no LabEx RHEL 10, escreveu um playbook válido e o executou através do navigator. Isso lhe proporciona um modelo de execução repetível para os laboratórios de RHCE Ansible posteriores.


