Introdução ao Ansible e Automação de Rede

Chapter 1, Lesson 1

O que é Ansible?

Ansible é uma ferramenta de automação de código aberto que simplifica a configuração de servidores, aplicativos e dispositivos de rede.


Principais Características

  • Sem Agente: Não é necessário instalar software nos dispositivos. Ansible gerencia roteadores Cisco via SSH.

  • Modelo Baseado em Push: A partir do seu laptop (nó de controle), Ansible envia configurações para 100 switches de uma vez.

  • Sintaxe YAML: Usa arquivos simples, legíveis por humanos, para definir configurações.

  • Operações Idempotentes: Reexecutar um playbook para configurar uma ACL não a aplica novamente se já estiver presente.

  • Suporte Multiplataforma: Funciona com Cisco, Juniper, Arista e outros dispositivos de rede.

Modelo Push do Ansible

Como o Ansible Funciona em Redes?

Diferente da automação de servidores, onde comandos rodam localmente, na automação de rede:

  • As tarefas são executadas no nó de controle (máquina com Ansible).

  • Conexões usam SSH, NETCONF (protocolo estruturado, comum em Juniper) ou APIs (ex.: REST para Cisco ACI).

  • Templates Jinja2 geram configurações dinâmicas. Exemplo:

interface {{ interface_name }}
  ip address {{ ip_address }} {{ subnet_mask }}

Isso cria configurações únicas para cada dispositivo com base em dados do inventário.

  • ansible-jinja2

    AWX/Ansible Tower oferece uma interface web para gerenciar automação em grandes redes

    ansible-tower


Arquitetura do Ansible

Ansible é composto por componentes que trabalham juntos para automatizar redes:

  • Nó de Controle: A máquina onde o Ansible está instalado e de onde a automação é iniciada.

  • Nós Gerenciados: Dispositivos-alvo, como roteadores e switches.

  • Inventário: Um arquivo listando dispositivos, organizados por grupos (ex.: core_switches, edge_routers).

  • Módulos: Tarefas reutilizáveis, como cisco.ios.ios_config para enviar comandos CLI a dispositivos Cisco.

  • Playbooks: Arquivos YAML que definem a sequência de tarefas de automação.

  • Coleções: Pacotes com módulos, plugins e documentação para vendors específicos (ex.: cisco.ios).

arquitetura ansible

💡
Pro Tip: Organize o inventário por tipo de dispositivo ou localização (ex.: dc1_routers) para facilitar a execução de playbooks em grupos específicos.

Ansible para Automação de Rede

Ansible resolve desafios comuns de rede, como configurações manuais inconsistentes ou verificações demoradas. Aqui estão os principais casos de uso:

Caso de Uso Exemplo
Gerenciar Configurações Aplicar configs consistentes em múltiplos dispositivos.
Verificar Conformidade Garantir que dispositivos seguem políticas de segurança.
Provisionar Serviços Configurar VLANs, ACLs ou novas conexões.
Backup e Restauração Backup regular de configurações e restauração quando necessário.
Atualizações de Software Atualizar firmware
Coletar Dados Obter informações de diagnóstico para troubleshooting