Ansible - Gerenciamento de Infra Flashcards
(29 cards)
O que é gerenciamento de Configuração?
Processo usado para manter sistemas, servidores e aplicações em um
estado DESEJADO e CONSISTENTE.
É uma forma de se certificar de que o sistema funciona CONFORME ESPERADO
mesmo com alterações/atualizações.
Benefícios do Gerenciamento de Configuração.
- Garantir que os ambientes de teste e produção correspondam, para que
os aplicativos sejam executados conforme o esperado. - Automatização de tarefas administrativas que permitem provisionar
servidores rapidamente. - Automação e Agilidade mitigam erro humano e tornam o gerenciamento do
sistema mais previsível e escalável.
Ansible
Ferramenta Open Source.
Automatiza os seguintes processos:
Provisionamento e gerenciamento de configurações
Implantação de aplicações e orquestração.
Recursos do Ansible
Gerenciamento de Configuração
Implantação de Aplicações
Provisionamento em Nuvem
Segurança e Compliance
Orquestração (de Hosts em um Inventário).
Outras ferramentas de Gerenciamento de Configuração
Puppet
Chef
CFEngine
SaltStack
Arquitetura do Ansible 1
Engine com
Inventário
Módulos
Plugins
API
Ansible Playbook
o usuário determina quais tarefas o Ansible deve executar a partir de
ma lista de inventário nos Hosts que integram esse inventário.
Networking para gerenciar recursos de rede
CMDB - Data base
Arquitetura do Ansible 2
Desenvolvida em Python
Autenticação
. User e senha
. LDAP e Kerberos
. Chaves SSH
Comunicação
. SSH (Linux)
. WinRM (Windows)
Idempotente
. Shell Script executa tudo, sempre.
. Ansible executa a mesma ação apenas uma vez.
Inventory File
Uma lista de nós gerenciados(‘target’ | um ou mais ‘hosts’)
Ansible Facts
São as propriedades dos recursos do sistema. O Inventário dos Recursos
Ansible cfg
Principal arquivo de configuração do Ansible.
Comando para visualizar as confiurações: ansible-config
Armazenado por padrão em /etc/ansible/ansible.cfg
Modules
Unidades de código que podem controlar recursos ou executar comandos.
Ad-hoc Commands
Comandos CLI usados para execução de tarefas simples.
Playbooks
É um arquivo yml com uma ou mais plays, usado para definir o estado desejado.
Variables
Armazena informações para gerir diferenças entre sistemas
Conditionals
Ação executada coom base em alguma condição
when: ansible_facts[‘os_family’] == “Debian”
Loops
Execução de uma mesma tarefa várias vezes
ROLES
Coleções totalmente customizáveis, de acordo com a necessidade.
Ansible Automatiza tarefas nos “hosts”, através de ______________
Pode ser gerido de forma ____________ ou ___________
- uma lista (inventário) Inventory File.
- manual / dinâmica.
Pode-se utilizar o nome de um __________ ou de um ___________ na linha de comando.
Host / group
ansible -i <inventory-file><host> -m ping | ansible<all> -m ping</all></host></inventory-file>
Aprofundando: Módulos
São scripts que executam tarefas específicas.
-m parâmetro para ‘module’
Qual a diferença entre os dois comandos?
ansible<host> -m ping
ansible<host> -m apt -a"name=unzip state=latest" -b</host></host>
O primeiro, utilizando o módulo ping, verifica se há comunicação com um host, sem utilizar argumentos
O segundo, utilizando o módulo apt, instala em um host gerenciadores de pacotes passando o nome e a versão da aplicação. No caso a mais recente. Além disso o “-b” inputa privilégios de administrador.
módulo apt
Gerenciador de pacotes Linux:Debian/Ubuntu
módulo user
gerencia contas de atributos de usuários. Em sistemas Windows:’win_user’
modulo file
Gerencia arquivos e diretórios(deletar, criar, adicionar/modificar permissões)