Puppet webcast 4linux
-
Upload
jose-augusto-carvalho -
Category
Documents
-
view
1.887 -
download
0
Transcript of Puppet webcast 4linux
PuppetAutomatizando e Gerênciando Con!gurações
<Guto Carvalho>
whoami
‣ Consultor/SysAdmin (LPIC-3) na 4Linux
‣ Doze anos de experiência com tecnologias FOSS
‣ Blogueiro de TI há 6 anos no site gutocarvalho.net
‣ Atuação em vários projetos de Governo no MDA, MINC, EBC/RADIOBRÁS, MPS/DATAPREV, ITI/PR, CEF, MD/SIPAM, DETRAN/DF
‣ Há 2 anos trabalhando com gerência de con!gurações em ambientes virtualizados e clouds privadas em Brasília
whoami
‣ Consultor/SysAdmin (LPIC-3) na 4Linux
‣ Doze anos de experiência com tecnologias FOSS
‣ Blogueiro de TI há 6 anos no site gutocarvalho.net
‣ Atuação em vários projetos de Governo no MDA, MINC, EBC/RADIOBRÁS, MPS/DATAPREV, ITI/PR, CEF, MD/SIPAM, DETRAN/DF
‣ Há 2 anos trabalhando com gerência de con!gurações em ambientes virtualizados e clouds privadas em Brasília
Agenda
‣ Administração Manual
‣ Gerência de Con!gurações
‣ Puppet como ferramenta de GC
‣ Puppet Características
‣ Puppet Exemplos
‣ Cases Puppet
‣ Comunidade Puppet
‣ Benefícios e Ganhos
‣ Puppet & 4Linux
Administração Manual
‣ Tarefas repetitivas
‣ Falta de padrões
‣ Falta de procedimentos de!nidos
‣ Cada sysadmin faz do seu jeito
‣ Falta de documentação das mudanças executadas
Problemas da Administração Manual
‣ Tarefas repetitivas
‣ Falta de padrões
‣ Maior índice de falhas humanas
‣Equipe sempre sobrecarregada
‣Equipe sempre saindo tarde e trabalhando FDS
‣ Falta de procedimentos de!nidos
‣ Cada sysadmin faz do seu jeito
‣ Falta de documentação das mudanças executadas
Tarefas repetitivas
‣ Criação de usuários
‣ Elaboração de scripts
‣ Con!guração de serviços
‣ Con!gurações de monitoramento
‣ Criação de imagens de ambientes
‣ Con!guração do sistema operacional
‣ Instalação, atualização e remoção de pacotes
‣ Reinstalação de ambientes
‣ Expansão de ambientes balanceados
Exemplo: Pacote
DemandaTrocar Nagios por Zabbix
Ambiente450 máquinas
Estimativa 10 minutos por máquina4.500 minutos ou 75 horasCerca 9 dias trabalhando 8 h.p.d
Exemplo: Usuário
DemandaCriar usuário em 450 nodes
Ambiente450 máquinas
Estimativa 3 minutos por máquina1350 minutos22.5 horas para criar o usuário450 trocas de senha, quem curte?
Você vai perceber que...
‣ Fica mais difícil identi!car e corrigir problemas
‣ Fica mais difícil manter ambientes complexos funcionando
‣ Fica mais difícil manter seu parque padronizado
‣ Sua produtividade diminui a media que o ambiente cresce
‣ Sua capacidade de entrega não é mais a mesma
‣ Você nunca chega em casa no mesmo horário
‣ Você trabalha muitos !nais de semana e madrugadas
Como resolvo isto?
Gerência de Con!gurações
A gerência de configuração oferece um conjunto de recursos que visa garantir a integridade das configurações de nossos sistemas, serviços e infraestrutura envolvida, fazendo isto de
forma ágil e automatizada.
Gerência de Con!gurações
‣Padronização
‣Automatização
‣Controle
‣Integridade
‣Agilidade nas mudanças
Puppet em poucas palavras
‣ Ferramenta de nova geração que implementa Gerência de Con!gurações
‣ Podemos parar de administrar e começar a desenvolver nossa infra
‣ Nos permite reaproveitar código para construir con!gurações
‣ Oferece linguagem declarativa para expressar nossas con!gurações
‣ Possui uma sintaxe simples, prática e natural para sysadmins
‣ Oferece suporte a Linux, BSDs, OSX e Windows
‣ Criada por um sysadmin (Luke Kaine) para sysadmins.
Puppet Características
‣ Escrito em Ruby
‣ Extensível usando código Ruby
‣ Funciona em modo autônomo (roda na máquina localmente)
‣ Funciona em modo cliente/servidor (RESTful)
‣ Oferece comunicação segura SSL entre cliente/servidor
‣ Oferece camada de abstração para criação das con!gurações
Instale pacote X
Crie usuário Y
Inicie serviço Z
Recursos
‣ Suporte a mais de 19 tipos de sistemas operacionais
‣ RHEL, CentOS, Debian, Scienti!c Linux, Oracle Linux, Ubuntu, Fedora, Suse, Gentoo, Mandriva,
Archlinux, FreeBSD, OpenBSB, Mac OS X, Oracle Solaris, AIX, HPUX, Windows 2003, Windows 7
‣ Suporte a 23 tipos de gerenciadores de pacotes
‣ Suporte a 11 tipos de sistemas de inicialização
‣ Puppet é Idempotente
‣ Suporte a tratamento a condicionais em suas con!gurações
‣ Resource Types, Parâmetros, Meta-Parâmetros, Classes, Fatos, Variáveis, Templates e De!nições
‣ Obtém fatos do sistema via FACTER
‣ E muito mais...
Exemplo de Con!guração
# aptitude install apache2
# update-rc.d -f apache2 defaults
# cp ~/httpd.conf /etc/apache2/
# invoke-rc.d apache2 start
debian way
Exemplo de Con!guração
package { 'postfix': ensure => present,} service { 'postfix': ensure => running, enable => true,}
file { 'main.cf': path => “/etc/postfix/main.cf”, content => template(‘/srv/puppet/templates/main.cf.erb’),}
Exemplo de Con!guração
resource typeparameter
titlevalue
package { 'postfix': ensure => present,} service { 'postfix': ensure => running, enable => true,}
file { 'main.cf': path => “/etc/postfix/main.cf”, content => template(‘/srv/puppet/templates/main.cf.erb’),}
Exemplo de template
myorigin = <%= hostname %>mydestination = $myhostname, ..., localhost, <%= fqdn %>
Trecho do template main.cf.erb
myorigin = servidor.dominiomydestination = $myhostname, ..., localhost, servidor.dominio
Substituição de variáveis por fatos
Exemplo de de!nição
proxy::squid { 'ProxyFilial' : http_port squid_mode squid_hostname cache_mem maximum_object_size_in_memory maximum_object_size memory_replacement_policy cache_replacement_policy cache_dir cache_mgr cache_e"ective_user cache_e"ective_group dns_nameservers ips_squid }
=> '3128',=> 'transparent',=> 'proxy.4linux',=> '2 GB',=> '6 MB',=> '128 MB',=> 'heap GDSF',=> 'heap LFUDA',=> 'aufs /var/spool/squid 1024 16 256',=> '[email protected]',=> 'proxy',=> 'proxy',=> '127.0.0.1 10.61.12.2 172.16.1.1',=> '127.0.0.1 192.168.12.3',
Cases Puppet BR
‣EBC
‣Detran/DF
‣Caixa
Cases Puppet
Comunidade Puppet
‣727 pessoas online no canal #puppet da irc.freenode.net
‣8.500 repositórios no GitHub
‣450 módulos no PuppetForge
‣4457 usuários ativos na lista puppet-users
‣Lista puppet-users com 7795 tópicos de discussão
Quais os ganhos com o Puppet?
‣ Documentação instantânea
‣ Restore de backup e mudanças
‣ Processos bem de!nidos
‣ Ambiente padronizado
‣ Sistemas automatizados
Benefícios Reais
‣ Maior produtividade em menor tempo
‣ Poucos sysadmins para muitos nodes
‣ Diminuição de falhas humanas
‣ Maior controle de todo o seu parque
‣ Diminuição do tempo gasto em mudanças
‣ Diminuição do custo de manutenção
‣ Você chegará cedo em casa
‣ Suas madrugas e !nais de semana serão seus
Exemplo real
Ambiente com 450 nodesAmbiente com 450 nodesAmbiente com 450 nodes
modo manual puppet
instalando zabbix 75 horas 10 minutos
criando usuário 22 horas 10 minutos
Puppet & 4Linux
4Linux & PuppetLabs‣ 1o Parceiro no Brasil
‣ Consultores Especializados
‣ Cases no Governo Federal
‣ Suporte Puppet Enterprise
‣ Treinamentos Puppet Master
Perguntas?