0
Automação e gerenciamento de servidores com puppet                 Pedro Filho                Ramon Mota
Motivações   o   Estudar alternativas para gerenciamento de servidoresRequisitos   o   Gerir grandes quantidade de máquina...
Porque não trabalhar com outras ferramentas               semelhantes?                        Quais os problemas que quere...
Atividades repetitivas...  o   Criar e manter um usuário ativo em um grupo de servidores  o   Manter os pacotes do serviço...
Atividades repetitivas...Normalmente   o   Entrar em cada um dos servidores   o   Adicionar o usuário, senha ou par de cha...
Atividades repetitivas...Com puppet   o   Associar um cliente ao servidor master   o   Criar um manifest específico para e...
Porque usar o puppet?•   Para reduzir o tempo gasto com atividades repetitivas•   Para manter arquivos de configuração pad...
O puppet• ferramenta que proporciona a automação das atividades• baseado em Ruby• fornece uma abstração entre os administr...
Quem suporta puppet?Linux                             BSD•   CentOS                        • FreeBSD 4.7 and later•   Debi...
Afinal, como o puppettrabalha?
ManifestsSão arquivos de configuração do puppet usados na gerênciade seus clientes, estes contém:   o   Variados tipos de ...
Resource• Conjunto funções ou objetos que definem as ações à serem  tomadas;• RAL (Resource Abstraction Layer) é responsáv...
Facter• Desenvolvido pelo PuppetLabs• Lib do puppet para buscar informações de Hardware e SO• Auxilia o desenvolvimento do...
Variaveis e Condicionais case $operatingsystem {     centos, redhat: {         $service_name = ntpd,     }     debian, ubu...
#cat ntp.ppcase $operatingsystem {    centos, redhat: {        $service_name = ntpd        $conf_file = ntp.conf.rhel    }...
Como aplicar o manifest ao cliente?# vim /etc/puppet/manifests/site.ppnode cliente.exemplo.com          {    import ntp.pp...
Instalação• Através de tarball ou RubyGems• Via gerenciamento de pacotes• Pré-requisito:   o Instalação do ruby e openssl ...
Configurando• Definições DNS:  o puppet.exemplo.com        =   Puppet Master (Server) • Gerando o arquivo de configuração:...
Adicionando um puppet agent no puppet master• No cliente:#puppet agent --server puppet.exemplo.com --waitforcert 60--test•...
Retirando o puppet agent• Exclui o certificado do client no server.#rm -f /etc/puppet/ssl/ca/signed/cliente01.exemplo.com•...
Um pouco mais de Puppet...Puppet Scalability• Integração com o Apache para gerenciamento de SSL
Um pouco mais de Puppet...Modules• Coleção de Resources, Arquivos, Classes e Templates• Organização• Comunidade ativa no d...
Um pouco mais de Puppet...Marionette MCollectiveExemplos:• Quais servidores tem 32 GB de memória?• Quantos servidores estã...
Um pouco mais de Puppet...ReportsCentralizados no puppetmasterPor padrão são enviados no formato YamlReport Processors• ta...
Um pouco mais de Puppet...Puppet Dashboard
Por onde iniciar / referências Documentação disponível em, http://docs.puppetlabs.com/                     Perguntas?     ...
Upcoming SlideShare
Loading in...5
×

Administracao de sistemas_com_puppet

1,234

Published on

Palestra apresentada no fisl12 (02/07/2011) na PUCRS - POA - RS.

Published in: Technology, Spiritual
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,234
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Administracao de sistemas_com_puppet"

  1. 1. Automação e gerenciamento de servidores com puppet Pedro Filho Ramon Mota
  2. 2. Motivações o Estudar alternativas para gerenciamento de servidoresRequisitos o Gerir grandes quantidade de máquinas o Minimizar a repetição de tarefas o Trabalhar com diferentes distros e S.Os O puppet demonstrou ser uma boa alternativa !
  3. 3. Porque não trabalhar com outras ferramentas semelhantes?   Quais os problemas que queremos resolver?
  4. 4. Atividades repetitivas... o Criar e manter um usuário ativo em um grupo de servidores o Manter os pacotes do serviço NTP sempre instalados e o serviço rodando o Manter o firewall local dos servidores sempre ativos com as corretas regras de filtragem de pacotes
  5. 5. Atividades repetitivas...Normalmente o Entrar em cada um dos servidores o Adicionar o usuário, senha ou par de chaves o Verificar se os pacotes estão instalados #rpm -q ntp #dpkg -l ntp o Verificar se as regras de iptables foram ativadas e se estão corretamente aplicadas #iptables -nvLProblemas o realizar estas ações em cada servidor - retrabalho o distros ou S.Os diferentes - diferentes abordagens o outros admins podem cometer erros - padronização
  6. 6. Atividades repetitivas...Com puppet o Associar um cliente ao servidor master o Criar um manifest específico para este cliente ou grupo de clientes o Atualizar o manifest quando necessárioVantagens o uma única vez criar ou editar o manifest o abstração de distros (redhat, debian, etc) o outros admins não vão alterar as confs aleatoriamente
  7. 7. Porque usar o puppet?• Para reduzir o tempo gasto com atividades repetitivas• Para manter arquivos de configuração padronizados• Para gerenciar diferentes distros e S.Os• Porque o puppet fornece um poderoso framework que simplifica uma série de tarefas (linhas de comando)
  8. 8. O puppet• ferramenta que proporciona a automação das atividades• baseado em Ruby• fornece uma abstração entre os administradores e os sistemas gerenciados• linguagem simples que se baseia na especificação de elementos do S.O, como: o usuários o pacotes o serviços o arquivos
  9. 9. Quem suporta puppet?Linux BSD• CentOS • FreeBSD 4.7 and later• Debian 3.1 and later • OpenBSD 4.1 and later• Fedora Core 2-6 Other Unix• Fedora 7 and later • Macintosh OS X• Gentoo Linux • Sun Solaris 2.6• Mandriva Corporate Server 4 • Sun Solaris 7 and later• RHEL 3 and later • AIX• Oracle Linux • HP-UX• SuSE Linux 8 and later• Ubuntu 7.04 and later Windows• ArchLinux • Windows (version 2.6.0 and later)
  10. 10. Afinal, como o puppettrabalha?
  11. 11. ManifestsSão arquivos de configuração do puppet usados na gerênciade seus clientes, estes contém: o Variados tipos de resources; o Variáveis; o Expressões de condição; o Importação de outros manifests; o Definição de classes; Arquivo.pp
  12. 12. Resource• Conjunto funções ou objetos que definem as ações à serem tomadas;• RAL (Resource Abstraction Layer) é responsável pela interoperabilidade entre sistemasTipos: user { user_fisl: User ensure => present, Package uid => 507, File gid => admin, shell => /bin/bash, Service home => /home/fisl, Cron } Exec Group # puppet describe [nome_resource]
  13. 13. Facter• Desenvolvido pelo PuppetLabs• Lib do puppet para buscar informações de Hardware e SO• Auxilia o desenvolvimento dos Resources #facter virtual: vmware memorysize: 250.33 MB is_virtual: true kernelversion: 2.6.26 ... operatingsystem: Debian
  14. 14. Variaveis e Condicionais case $operatingsystem { centos, redhat: { $service_name = ntpd, } debian, ubuntu: { $service_name = ntp, } }
  15. 15. #cat ntp.ppcase $operatingsystem { centos, redhat: { $service_name = ntpd $conf_file = ntp.conf.rhel } debian, ubuntu: { $service_name = ntp $conf_file = ntp.conf.debian }}package { ntp: ensure => installed,}file { /etc/ntp.conf: ensure => file, require => Package[ntp], source => "puppet:///modules/ntp/$conf_file",}service { $service_name: ensure => running, enable => true,}
  16. 16. Como aplicar o manifest ao cliente?# vim /etc/puppet/manifests/site.ppnode cliente.exemplo.com { import ntp.pp include ssh user { user_fisl: ensure => present, uid => 507, gid => admin, shell => /bin/bash, home => /home/fisl, }}
  17. 17. Instalação• Através de tarball ou RubyGems• Via gerenciamento de pacotes• Pré-requisito: o Instalação do ruby e openssl  ruby  libshadow-ruby  libopenssl-ruby  openssl o Instalação do fact;  biblioteca desenvolvido pelo puppet labs
  18. 18. Configurando• Definições DNS: o puppet.exemplo.com = Puppet Master (Server) • Gerando o arquivo de configuração:#puppetmaster --genconfig (Para o puppet master)#puppet --genconfig (Para o puppet client)• Arquivos de certificados e usuário do daemon do puppet#puppet master --mkusers
  19. 19. Adicionando um puppet agent no puppet master• No cliente:#puppet agent --server puppet.exemplo.com --waitforcert 60--test• No server:#puppet cert --list#puppet cert --sing cliente01.exemplo.com
  20. 20. Retirando o puppet agent• Exclui o certificado do client no server.#rm -f /etc/puppet/ssl/ca/signed/cliente01.exemplo.com• Para reassinar o cliente:#rm -rf /etc/puppet/ssl/
  21. 21. Um pouco mais de Puppet...Puppet Scalability• Integração com o Apache para gerenciamento de SSL
  22. 22. Um pouco mais de Puppet...Modules• Coleção de Resources, Arquivos, Classes e Templates• Organização• Comunidade ativa no desenvolvimento de módulos
  23. 23. Um pouco mais de Puppet...Marionette MCollectiveExemplos:• Quais servidores tem 32 GB de memória?• Quantos servidores estão on-line?• Permite realizar um deploy nos clients em tempo real
  24. 24. Um pouco mais de Puppet...ReportsCentralizados no puppetmasterPor padrão são enviados no formato YamlReport Processors• tagmail• rrdgraph• log
  25. 25. Um pouco mais de Puppet...Puppet Dashboard
  26. 26. Por onde iniciar / referências Documentação disponível em, http://docs.puppetlabs.com/ Perguntas? ramonmsf@gmail.com pedro.filho.jp@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×