Download - Puppet webcast 4linux
![Page 1: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/1.jpg)
![Page 2: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/2.jpg)
PuppetAutomatizando e Gerênciando Con!gurações
<Guto Carvalho>
![Page 3: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/3.jpg)
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
![Page 4: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/4.jpg)
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
![Page 5: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/5.jpg)
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
![Page 6: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/6.jpg)
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
![Page 7: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/7.jpg)
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
![Page 8: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/8.jpg)
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
![Page 9: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/9.jpg)
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
![Page 10: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/10.jpg)
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?
![Page 11: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/11.jpg)
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
![Page 12: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/12.jpg)
Como resolvo isto?
![Page 13: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/13.jpg)
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.
![Page 14: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/14.jpg)
Gerência de Con!gurações
‣Padronização
‣Automatização
‣Controle
‣Integridade
‣Agilidade nas mudanças
![Page 15: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/15.jpg)
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.
![Page 16: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/16.jpg)
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
![Page 17: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/17.jpg)
Instale pacote X
![Page 18: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/18.jpg)
Crie usuário Y
![Page 19: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/19.jpg)
Inicie serviço Z
![Page 20: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/20.jpg)
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...
![Page 21: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/21.jpg)
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
![Page 22: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/22.jpg)
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’),}
![Page 23: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/23.jpg)
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’),}
![Page 24: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/24.jpg)
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
![Page 25: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/25.jpg)
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',
![Page 26: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/26.jpg)
Cases Puppet BR
‣EBC
‣Detran/DF
‣Caixa
![Page 27: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/27.jpg)
Cases Puppet
![Page 28: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/28.jpg)
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
![Page 29: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/29.jpg)
Quais os ganhos com o Puppet?
‣ Documentação instantânea
‣ Restore de backup e mudanças
‣ Processos bem de!nidos
‣ Ambiente padronizado
‣ Sistemas automatizados
![Page 30: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/30.jpg)
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
![Page 31: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/31.jpg)
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
![Page 32: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/32.jpg)
Puppet & 4Linux
4Linux & PuppetLabs‣ 1o Parceiro no Brasil
‣ Consultores Especializados
‣ Cases no Governo Federal
‣ Suporte Puppet Enterprise
‣ Treinamentos Puppet Master
![Page 33: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/33.jpg)
Perguntas?
![Page 35: Puppet webcast 4linux](https://reader034.vdocuments.com.br/reader034/viewer/2022052307/5560f9cbd8b42a0e408b4d3b/html5/thumbnails/35.jpg)