Curso Work Automation With Ansible
24 horasVisão Geral
Curso Work Automation With Ansible. Este curso prático e intensivo é projetado para administradores de sistemas, engenheiros de DevOps, desenvolvedores, profissionais de infraestrutura e qualquer um que busque automatizar tarefas repetitivas e complexas em ambientes de TI. Do ponto de vista técnico, você aprenderá a dominar o Ansible, uma ferramenta de automação poderosa, simples de usar e baseada em agentes (agentless). O curso cobrirá desde os fundamentos da instalação e configuração do Ansible, passando pela escrita de Playbooks eficientes em YAML, até o gerenciamento de inventários dinâmicos, o uso de roles para reutilização de código e a integração com variáveis e Vault para segurança. Focaremos em cenários práticos de automação de infraestrutura, desde a configuração de servidores e implantação de aplicações até o gerenciamento de configurações e orquestração de ambientes complexos.
Curso Work Automation With Ansible, a automação com Ansible é uma habilidade indispensável que permite às organizações acelerar a entrega de software, reduzir erros humanos, padronizar ambientes e liberar equipes para focar em tarefas de maior valor estratégico. A capacidade de automatizar a provisionamento, configuração e implantação de infraestrutura e aplicações resulta em maior eficiência operacional, economia de custos, melhor consistência e maior agilidade nos negócios. Profissionais que dominam o Ansible são altamente valorizados no mercado, pois contribuem diretamente para a modernização e otimização das operações de TI.
Objetivo
Ao final do Curso Work Automation With Ansible, você será capaz de:
- Compreender os princípios e a arquitetura do Ansible.
- Instalar e configurar o Ansible em um ambiente de controle.
- Criar e gerenciar inventários de hosts (estáticos e dinâmicos).
- Escrever Playbooks Ansible em YAML para automatizar tarefas.
- Utilizar Módulos Ansible para interagir com sistemas e serviços.
- Gerenciar variáveis e fatos (facts) para tornar Playbooks flexíveis.
- Implementar Roles para organizar e reutilizar código Ansible.
- Proteger informações sensíveis usando Ansible Vault.
- Realizar automação de configurações, implantação de aplicações e orquestração.
- Solucionar problemas comuns em Playbooks Ansible.
- Aplicar as melhores práticas para automação com Ansible.
Publico Alvo
- Administradores de Sistemas: Para automatizar tarefas diárias de gerenciamento de servidores.
- Engenheiros de DevOps: Para construir pipelines de CI/CD e gerenciar infraestrutura como código.
- Desenvolvedores: Para automatizar ambientes de desenvolvimento e implantação de aplicações.
- Profissionais de Infraestrutura: Que buscam padronizar e escalar suas operações.
- Qualquer profissional de TI que deseja eliminar tarefas manuais e repetitivas.
Pre-Requisitos
- Conhecimento básico de Linux: Comandos de terminal, sistema de arquivos, permissões, gerenciamento de pacotes.
- Noções básicas de redes TCP/IP (endereçamento IP, SSH).
- Familiaridade com o uso de YAML (desejável, mas será revisado).
- Noções de virtualização ou ambientes de nuvem para os laboratórios.
Materiais
Inglês/Português/Lab PráticoConteúdo Programatico
Módulo 1: Introdução ao Ansible e Fundamentos (4 horas)
- 1.1. O Desafio da Automação em TI:
- Por que automatizar? Benefícios (velocidade, consistência, redução de erros).
- Cenários de automação: Provisionamento, Configuração, Implantação, Orquestração.
- 1.2. Introdução ao Ansible:
- O que é Ansible? Filosofia "Agentless" (sem agentes).
- Arquitetura do Ansible: Control Node, Managed Nodes, Inventário, Playbooks, Módulos.
- Comparativo com outras ferramentas de automação (Chef, Puppet, SaltStack).
- 1.3. Instalação e Configuração Inicial:
- Instalando Ansible no Control Node.
- Configuração básica do Ansible (
ansible.cfg
). - Configurando autenticação SSH (chaves SSH).
- 1.4. Inventários Estáticos:
- Estrutura e sintaxe do arquivo
hosts
(INI e YAML). - Definindo grupos de hosts e variáveis de inventário.
- Estrutura e sintaxe do arquivo
- 1.5. Primeiros Comandos Ad-Hoc:
- Executando comandos simples em hosts remotos.
- Módulos comuns (
ping
,command
,shell
).
- Prática: Instalar Ansible e configurar chaves SSH. Criar um inventário estático. Executar comandos ad-hoc simples em máquinas virtuais de laboratório.
Módulo 2: Escrevendo Playbooks Ansible (6 horas)
- 2.1. Anatomia de um Playbook:
- Estrutura YAML de um Playbook: Plays, Tasks, Módulos.
- Conceitos de Idempotência.
- 2.2. Módulos Ansible Essenciais:
- Gerenciamento de pacotes (
apt
,yum
). - Gerenciamento de serviços (
service
). - Gerenciamento de arquivos (
copy
,template
,file
). - Gerenciamento de usuários (
user
). - Comandos (
command
,shell
).
- Gerenciamento de pacotes (
- 2.3. Variáveis e Fatos (Facts):
- Definindo variáveis em Playbooks, inventários, e linha de comando.
- Fatos (Facts): Coleta de informações sobre os Managed Nodes (
setup
module). - Registrando saídas de tarefas (
register
).
- 2.4. Condicionais e Loops:
when
statement para execução condicional.loop
para iterar sobre listas.
- 2.5. Handlers e Notificadores:
- O que são Handlers e como eles garantem que as tarefas sejam executadas apenas quando necessário.
- Prática: Escrever Playbooks para:
- Instalar um pacote (nginx/apache) em vários hosts.
- Configurar um arquivo de configuração com variáveis.
- Criar um usuário em todos os hosts.
- Usar condicionais e loops.
- Criar um handler para reiniciar um serviço.
Módulo 3: Organização, Reutilização e Variáveis Avançadas (6 horas)
- 3.1. Estrutura de Projeto Ansible:
- Organização de Playbooks, inventários e roles.
- Diretórios padrão do Ansible.
- 3.2. Ansible Roles:
- Conceito de Roles: Estrutura modular para reutilização de código.
- Criando e utilizando Roles (
ansible-galaxy init
). - Variáveis em Roles (
defaults
,vars
). - Tasks, Handlers, Templates, Files em Roles.
- 3.3. Gerenciamento de Variáveis Avançado:
- Prioridade das variáveis no Ansible.
group_vars
ehost_vars
: Variáveis específicas para grupos e hosts.extra-vars
(-e
): Variáveis passadas pela linha de comando.
- 3.4. Templates com Jinja2:
- Uso de templates Jinja2 para arquivos de configuração dinâmicos.
- Filtros Jinja2.
- Prática: Refatorar Playbooks anteriores em Roles. Criar um novo Role para configurar um servidor web completo (instalação, arquivo de configuração, serviço). Usar
group_vars
ehost_vars
para customizar configurações.
Módulo 4: Segurança, Inventários Dinâmicos e Orquestração (5 horas)
- 4.1. Ansible Vault:
- Protegendo dados sensíveis (senhas, chaves de API).
- Criptografando e descriptografando arquivos, strings e variáveis.
- Melhores práticas de uso do Vault.
- 4.2. Inventários Dinâmicos:
- Benefícios de inventários dinâmicos (nuvem, CMDBs).
- Configuração e uso de scripts de inventário (ex: para AWS EC2, Azure VMs).
- 4.3. Orquestração com Ansible:
- Executando Playbooks em sequência para coordenar implantações complexas.
- Delegating tasks (
delegate_to
). - Controle de fluxo (
serial
,run_once
).
- 4.4. Tags e Limiting:
- Executando apenas partes de um Playbook (
--tags
). - Limitando a execução a um subconjunto de hosts (
--limit
).
- Executando apenas partes de um Playbook (
- Prática: Criptografar senhas usando Ansible Vault. (Se possível) Configurar um inventário dinâmico para uma pequena infraestrutura em nuvem. Orquestrar um deploy de aplicação de múltiplos tiers.
Módulo 5: Boas Práticas, Testes e Ansible Galaxy (3 horas)
- 5.1. Boas Práticas de Automação com Ansible:
- Organização do código.
- Idempotência e previsibilidade.
- Versionamento de Playbooks (Git).
- Revisão de código.
- 5.2. Troubleshooting e Depuração:
- Modo Verbose (
-vvv
). - Módulo
debug
. - Checagem de sintaxe (
--syntax-check
). - Modo Dry Run (
--check
).
- Modo Verbose (
- 5.3. Ansible Galaxy:
- Compartilhando e utilizando Roles da comunidade.
- Instalando Roles do Galaxy.
- 5.4. Próximos Passos:
- Integração com CI/CD.
- Ansible Tower / AWX.
- Ansible Collections.
- Prática: Realizar debugging em um Playbook com erros intencionais. Instalar e utilizar uma Role do Ansible Galaxy. Discutir estratégias de integração com CI/CD.