Gestão de configuração com Puppet em ambientes de grande porte
1. Esta apresentação consiste em mostrar de
forma simplória com funciona a
ferramenta open-source de gestão de
configuração em ambientes de grande
porte, chamada Puppet.
3. Problemática
Tenho um ambiente com 500
servidores, e agora como
vou configurar?
4. E agora? O que fazer?
Será possível manter esse
Host a Host? ambiente padronizado?
Via Secure Shell (ssh)?
Configuração Manual?
Quantos sysadmins são
necessáriospara administrar
esse ambiente?
5. Metodologia Usual
Configuração Manual
Falta de Documentação
Risco de falha humana
Processos indefinidos
Trabalho repetitivo
Cansaço dos sysadmins
Descentralização
Perda do controle
6. Metodologia Nova
Gerência de Configuração
Padronização
Automação
Controle
Integridade
Desempenho
Agilidade nas mudanças
Resultados
Foco no negócio
7. Overview
Fundada em 2005 por Luke Kaine – Fundador e CEO
Ferramenta que implementa o GC
Possibilidade de parar de administrar e iniciar a
desenvolver nossa infra
Gerenciamento de múltiplos sistemas
(Linux, BSDs, OSX e Windows)
Permite reaproveitamento de código para construção
de configuração
Lema: “Criada por um sysadmin para sysadmins”
8. Características
Desenvolvido em Ruby.
Funciona em modo autônomo.
Funciona no modelo cliente/servidor.
Suporte a comunicação segura SSL entre
cliente/servidor.
Suporte a camada de abstração para criação das
configurações.
9. Motivos para Usar
Documentação instantânea.
Registro da configuração do cliente.
Duplicar configurações em maquinas idênticas.
Sistema centralizado facilitando o gerenciamento.
Funcionalidades Facter, Mcollective e Dashboard.
12. Funcionamento
Comunicação Cliente/Servidor
É realizado a instalação do cliente com puppetagent.
É criado os certificados de segurança (SSL), que
permite o registra e autenticação dos hosts.
Após a validação do certificado pelo puppetmaster a
comunicação é automática.
Valido os certificados ocorre uma sincronização
Inicialmente é realizado uma comparação de listas de
configurações recebidas do cliente.
A lista de configuração no Puppet Master é chamada
de catalogo (catalog).
13. Funcionamento
Diagrama
Instalação Inicialização Geração de
do cliente do puppet Certificado
Master
Cliente Envio de
Valída
Sincroniza Certificado
Certificado
15. Funcionamento
Sincronização
Cliente requisita catalogo
Cliente envia fatos
Master classifica e processa fatos e compara
Master produz e envia catalogo
Cliente recebe, compara e aplica
Cliente reporta status atual ao Master
16. Ferramenta
Facter
Biblioteca que reuni informações de hardware e SO
dos clientes.
Coletando estas informações podemos criar variáveis
que podem ser utilizados em estruturas IF e CASE.
Sua função é analisar de forma condicional as
informações e repassar para o Puppet Master.
18. Ferramenta
MCollective
Ferramenta auxiliar que possibilita maior interatividade
do controle da infraestrutura de hardware.
Fornece informações como: servidores on-line,
disponibilidade do Puppet nos clientes.
Possibilita disparar comandos do Puppet Master aos
clientes, independente da configuração de tempo.
20. Ferramenta
Dashboard
É uma interface web amigável ao usuário, que facilita a
visualização de resultados e informações importantes
do sistema.
Ferramenta gerencial inclui gráficos de graduação de
falhas, feed back de atividades e mudanças.
É o responsável por fazer uma análise condicional das
informações e repassar ao Puppet Master.
22. Ferramenta
Foreman
Fornece informações acerca de aplicação de
configuração.
Oferece um recurso de provisionamento.
Gera inventário dos sistemas com base nos fatos de
cada cliente.
Instalação e reinstalação de clientes por completo.
24. Benefícios
Redução de custos com manutenção de PC.
Diminuição da sobrecarga dos sysadmins.
Queda do downtime do ambiente.
Facilidade de execução de atualizações de sistemas e
serviços.
Acelerar a criação de novos servidores e serviços.
Possibilidade de backup e restore.
25. Laboratório
Cenário de Teste
1 VM Debian Squeeze 6.0 - Puppet Master
IP: 10.10.4.1
1 VM Debian Squeeze 6.0 - Puppet Agent
1 VM Debian Squeeze 6.0 - Nagios Core
IP: 10.10.4.100
IP: 10.10.4.101
27. Considerações Finais
Em um mundo cada vez mais competitivo, o foco em
resultados em um espaço de tempo curto e com a
dimunição de investimento em recursos é a grande
diferencial para o sucesso. E com futuros sysadmins
devemos estar preparados para atender está crescente
demanda.
28. Referências Bibliográficas
Site oficial Puppet Labs – puppetlabs.com
Blog Augusto Carvalho – gutocarvalho.net/octopress
Site 4Linux - 4linux.com.br
Contatos
E-mail: eltonrrs@gmail.com
Skype: eltonrsimoes