0% acharam este documento útil (0 voto)
40 visualizações20 páginas

Ansible

O Ansible é uma ferramenta open-source para automação de tarefas de TI, utilizando YAML para criar Playbooks que configuram servidores e fazem deploy de aplicativos. Seus principais componentes incluem Playbooks, Inventário, Módulos e Variáveis, permitindo automação desde tarefas simples até complexas. O Ansible não requer instalação nas máquinas destino, é escalável e facilita a manutenção da conformidade de segurança.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
40 visualizações20 páginas

Ansible

O Ansible é uma ferramenta open-source para automação de tarefas de TI, utilizando YAML para criar Playbooks que configuram servidores e fazem deploy de aplicativos. Seus principais componentes incluem Playbooks, Inventário, Módulos e Variáveis, permitindo automação desde tarefas simples até complexas. O Ansible não requer instalação nas máquinas destino, é escalável e facilita a manutenção da conformidade de segurança.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 20

Ansible

1
O que é o Ansible?
O Ansible é uma ferramenta open-source usada pra automatizar tarefas de TI, como
configurar servidores, fazer deploy de apps e manter tudo rodando de forma padronizada.
Sem precisar instalar nada nas máquinas destino
Usa YAML
Substitui scripts tradicionais com Playbooks organizados

2
Pra que serve o Ansible?
Você pode automatizar:
Provisionamento: configurar servidores do zero
Gerenciamento de configuração: manter tudo igual
Deploy contínuo: automatizar publicação de apps
Segurança e conformidade: seguir padrões de segurança

3
Por que usar?
Sem agente: não precisa instalar nas máquinas
Simples: usa YAML (fácil de ler e escrever)
Poderoso: automatiza de tarefas simples a complexas
Escalável: roda em infra pequena ou gigantesca

4
Componentes principais
Playbooks
Os Playbooks são onde você escreve as tarefas, em YAML e dentro desses YAML existem
variáveis, loops e condições
Inventário
Lista os servidores onde as tarefas vão rodar em Formatos: .ini , .yaml ele pode
agrupar: web, banco e e-mail

5
Componentes principais
Módulos e Plugins
Blocos prontos de código que fazem tarefas específicas
Exemplos: instalar pacotes, criar usuários, configurar firewall
Variáveis
Guardam info como IPs, nomes, portas
Tipos: string, número, booleano, lista, dicionário
Templates (Jinja2)
É usado pra gerar arquivos com variáveis, dinamicamente
6
YAML — O que é e por que é importante?
YAML = "Yet Another Markup Language"
Usado em arquivos de configuração, inclusive nos Playbooks do Ansible
Sintaxe
Extensões: .yml ou .yaml
Usa espaços (sem tab!)
Comentários com #
--- começa o documento

7
YAML — O que é e por que é importante?
Tipos de dados YAML
1. Sequência:
- item1
- item2

2. Mapeamento (chave-valor):
nome: Juan
idade: 19

8
YAML — O que é e por que é importante?
3. Escalar: string, número, booleano etc.
Exemplo de estrutura
Store:
Bakery:
- Sourdough loaf
- Bagels
Cheesemonger:
- Blue cheese
- Feta

Convertido em JSON:
{"Store": {"Bakery": ["Sourdough loaf", "Bagels"], "Cheesemonger": ["Blue cheese", "Feta"]}}

9
Gerenciando usuários com Playbook
1. Adicionar um único usuário
Criar um .yml com dados do usuário
Rodar com:
ansible-playbook -i inventory.file add-user.yml

Verificar:
ipa user-show <nome_do_usuario>

10
Gerenciando usuários com Playbook
2. Adicionar múltiplos usuários
Escrever todos no .yml com uma lista users
Informar nome, email, UID etc
3. A partir de um JSON
Criar JSON com os dados
Usar include_vars no playbook
4. Remover usuários
Criar playbook com state: absent
Rodar normalmente pra remover
11
Gerenciando usuários com Playbook
Dicas:
Não remova o admin!
Evite criar usuários locais no IdM
Comandos úteis
Ver usuário:
ipa user-show <nome>

Rodar playbook:
ansible-playbook -i inventory.file playbook.yml

12
Configurando o Ansible
1. Arquivo principal:
/etc/ansible/ansible.cfg
Gerencia:
Local do inventário
Plugins
Timeout SSH
Número de forks
Pode ser sobrescrito com variável de ambiente $ANSIBLE_CONFIG
13
Configurando o Ansible
2. Scripts vs Playbooks
Scripts: difíceis de manter
Playbooks: estruturados, claros e reaproveitáveis
Inventário pode ter hierarquia (pai-filho)
Prioridade de variáveis:
1. --extra-vars
2. role vars > include vars > play vars > group vars > host vars > default vars

14
Escopos das variáveis
Você pode definir variáveis:
Por host (no inventário)
Por grupo (web, banco, etc.)
No Playbook
Por linha de comando

15
Casos de uso comuns
Simples:
Criar usuários
Instalar pacotes
Complexo:
Configurar firewall
Fazer deploy completo de apps

16
Debug e registro
Debug:
- name: mostrar variável
debug:
var: minha_variavel

Registro:
- name: armazenar saída
command: uptime
register: resultado

Usar depois:
- debug:
var: resultado.stdout 17
Módulos e Loops
Exemplos de módulos:
firewalld : configura firewall
lineinfile : edita arquivos

package : instala apps (nginx, git, etc.)

Loop:
with_items:
- nginx
- git

18
Gerenciando o Inventário
Estático:
Arquivo simples ( /etc/ansible/hosts )
Dinâmico:
Ideal pra nuvem ou infra escalável
Usa scripts ou APIs pra gerar o inventário em tempo real
Exemplo de inventário (formato INI)
[web]
192.168.1.10
192.168.1.11
[db]
192.168.1.20
19
Documentações úteis
Tutorial IBM Cloud X Ansible
Oque é o Ansible
Curso Udemy sobre Ansible
Documentação oficial do Ansible
Tutorial YAML

20

Você também pode gostar