SlideShare uma empresa Scribd logo
Automação e gerenciamento
 de servidores com puppet

                 Pedro Filho
                Ramon Mota
Motivações

   o   Estudar alternativas para gerenciamento de servidores

Requisitos

   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 !
Porque não trabalhar com outras ferramentas
               semelhantes?
                       

 Quais os problemas que queremos resolver?
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

Recomendado para você

Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarman

O documento descreve o uso da ferramenta pgbarman para gerenciamento de backups do PostgreSQL. O pgbarman permite fazer backups remotos de múltiplos servidores PostgreSQL, auxiliando DBAs na recuperação de dados. É apresentada a instalação, configuração e uso básico do pgbarman, incluindo a criação de servidores, listagem de configurações e backups.

linuxbackuptool
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite

Uma introdução à containers e à PostgreSQL em containers usando a Crunchy Container Suite, tocando na parte de Kubernetes. Suas funcionalidades são apresentadas, vantagens e desvantagens.

postgresqldatabasescontainers
Trab linux+sarg
Trab linux+sargTrab linux+sarg
Trab linux+sarg

O documento descreve a configuração de um servidor PDC Samba em um sistema CentOS, incluindo a instalação de pacotes necessários como Samba, Squid e SARG. Os principais pontos abordados são a criação de usuários e grupos, compartilhamentos, configuração do smb.conf e mapeamento de grupos.

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 -nvL

Problemas
   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
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ário

Vantagens

   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
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)
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

Recomendado para você

PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manada

Palestra realizada no 1° Seminário de Inovações Tecnológicas em Cluster e Grid no Governo Federal em dezembro de 2005 sobre técnicas de replicação no PostgreSQL

disponibilidadealtaha
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou

O documento resume as principais mudanças na versão 2.0 do framework CakePHP, incluindo o abandono do suporte ao PHP 4, a adoção do PHPUnit para testes de unidade, a reestruturação de componentes, sessões e visões, a adição de novas funcionalidades como PDO e reescrita de URLs.

cakephpphp
Puppet overview
Puppet overviewPuppet overview
Puppet overview

O documento discute a automação de configuração de servidores usando Puppet. Ele explica que Puppet permite definir o estado desejado de recursos como pacotes, serviços e arquivos e garantir que esses recursos estejam sempre na configuração especificada, economizando tempo e evitando erros. Também lista algumas vantagens do Puppet como padronização, controle de versão e facilidade de uso.

puppetautomationpuppet labs
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)
Afinal, como o puppet
trabalha?
Manifests
São arquivos de configuração do puppet usados na gerência
de 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
Resource
• Conjunto funções ou objetos que definem as ações à serem
  tomadas;
• RAL (Resource Abstraction Layer) é responsável pela
  interoperabilidade entre sistemas

Tipos:                   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]

Recomendado para você

Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas

1. Existem diversas formas de instalar programas em Linux, como a partir do código fonte, RPM, YUM, APT-GET e repositórios. 2. RPM é o gerenciador de pacotes mais utilizado em distros Linux, permitindo instalar, atualizar e remover programas. 3. YUM e DNF facilitam a instalação automatizando o download e resolvendo dependências, buscando pacotes em repositórios on-line.

linuxyumdnf
Sistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de salaSistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de sala

O documento apresenta 13 exercícios de script em shell para serem desenvolvidos. Os exercícios envolvem validação de parâmetros, listagem e ordenação de arquivos e diretórios, cálculos matemáticos e geração de datas a partir de dias da semana.

Node JS - Parte 4
Node JS - Parte 4Node JS - Parte 4
Node JS - Parte 4

O documento discute a implementação de persistência de dados em um projeto Node.js usando arquivos e bancos de dados MySQL e MongoDB. Ele aborda módulos, persistência em arquivos, segurança de senhas com bcrypt, uso do MySQL com queries e ORM Sequelize e próximos passos do projeto.

nodejsexpresspersistencia
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
Variaveis e Condicionais

 case $operatingsystem {
     centos, redhat: {
         $service_name = 'ntpd',
     }
     debian, ubuntu: {
         $service_name = 'ntp',
     }
 }
#cat ntp.pp

case $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,
}
Como aplicar o manifest ao cliente?

# vim /etc/puppet/manifests/site.pp

node 'cliente.exemplo.com'          {

    import 'ntp.pp'
    include ssh

    user       { 'user_fisl':
         ensure    =>    present,
         uid       =>    '507',
         gid       =>    'admin',
         shell     =>    '/bin/bash',
         home      =>    '/home/fisl',
     }
}

Recomendado para você

Proftpd
ProftpdProftpd
Proftpd

O documento explica como configurar o servidor FTP ProFTPd através do arquivo de configuração /etc/proftpd.conf. O arquivo define contextos e diretivas que determinam o comportamento do ProFTPd para diferentes ações e diretórios. O exemplo de configuração mostra como permitir downloads na pasta PUB e uploads na pasta incoming.

servidor ftp
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012

O documento apresenta uma oficina básica sobre PostgreSQL ministrada por Fabrizio de Royes Mello. A agenda inclui introdução ao PostgreSQL, preparação do servidor, e manipulação de bancos de dados. O público aprenderá sobre instalação, configuração de clusters, criação e remoção de bancos de dados no PostgreSQL.

oficinapostgresqllatinoware2012
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager

Palestra sobre Replicação PostgreSQL com repmanager. O evento ocorreu em Porto Alegre na data de 09/07/2015 no FISL 16.

replicaçãopostgresqlrepmgr
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
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
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
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/

Recomendado para você

TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...

O documento discute a linguagem de programação Rust. Apresenta como o autor conheceu e começou a usar Rust, destacando características como tipos seguros, gerenciamento de memória sem garbage collector e foco em segurança e desempenho. Também mostra exemplos básicos de código Rust e como criar um site simples e fazer requisições na web usando Rust.

tdc2017poa
Skytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxySkytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxy

O documento descreve ferramentas para balanceamento de carga e alta disponibilidade no PostgreSQL, incluindo PL/Proxy, PgBouncer e Skytools. PL/Proxy direciona consultas SQL para bancos de dados específicos usando hash dos dados, PgBouncer gerencia pools de conexões para melhorar o desempenho e Skytools fornece replicação e particionamento de dados.

postgresqskytoolslondsite
Aula PIT 3 - Ambientes
Aula PIT 3 - AmbientesAula PIT 3 - Ambientes
Aula PIT 3 - Ambientes

Este documento fornece instruções para configurar um servidor na nuvem da Amazon (EC2) para hospedar aplicações Java usando Tomcat e banco de dados PostgreSQL. Ele descreve como instalar e configurar softwares como Java, Tomcat, Nginx, PostgreSQL, Git e crontab para automatizar atualizações de código e publicação.

serveraws
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 desenvolvimento de módulos
Um pouco mais de Puppet...
Marionette MCollective
Exemplos:

• Quais servidores tem 32 GB de memória?

• Quantos servidores estão on-line?

• Permite realizar um deploy nos clients em tempo real
Um pouco mais de Puppet...
Reports

Centralizados no puppetmaster

Por padrão são enviados no formato Yaml

Report Processors
• tagmail
• rrdgraph
• log

Recomendado para você

Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaAdequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema carga

O documento discute otimizações no servidor proxy/cache Squid para redes de alta carga, incluindo aumentar o número de descritores de arquivos, usar epoll no loop principal, habilitar AUFS para I/O em disco, usar políticas de substituição como heap LFUDA, e alocar memória suficiente.

kernelcachelinux
Tópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster BeowulfTópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster Beowulf

O documento descreve os passos para configurar um cluster Beowulf utilizando o sistema operacional Slackware, incluindo a configuração do nó mestre e dos nós escravos, instalação e configuração do LAM-MPI para permitir a computação paralela entre os nós.

Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios

O documento discute o monitoramento de bancos de dados Oracle e SQL Server usando a ferramenta open-source Nagios. Ele descreve os benefícios do monitoramento, apresenta o Nagios e seus arquivos de configuração, e discute vários plugins para monitorar serviços, processos, recursos e backups nos bancos de dados.

nagiossqlserveroracle
Um pouco mais de Puppet...
Puppet Dashboard
Por onde iniciar / referências


 Documentação disponível em, http://docs.puppetlabs.com/




                     Perguntas?



                  ramonmsf@gmail.com
                 pedro.filho.jp@gmail.com

Mais conteúdo relacionado

Mais procurados

Node JS - Parte 3
Node JS - Parte 3Node JS - Parte 3
Node JS - Parte 3
Bruno Catão
 
Combo video aulas servidor linux + comandos shell linux
Combo video aulas servidor linux + comandos shell linuxCombo video aulas servidor linux + comandos shell linux
Combo video aulas servidor linux + comandos shell linux
Video Aulas Linux e Mikrotik
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
Francisco Gonçalves
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarman
Juliano Atanazio
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
Roberto Mello
 
Trab linux+sarg
Trab linux+sargTrab linux+sarg
Trab linux+sarg
Anderson Lago
 
PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manada
Fabio Telles Rodriguez
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
Felipe Vargas Rigo
 
Puppet overview
Puppet overviewPuppet overview
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
Frederico Madeira
 
Sistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de salaSistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de sala
Carlos Melo
 
Node JS - Parte 4
Node JS - Parte 4Node JS - Parte 4
Node JS - Parte 4
Bruno Catão
 
Proftpd
ProftpdProftpd
Proftpd
Carlos Melo
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012
Fabrízio Mello
 
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager
Vinicius Aquino do Vale
 
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
tdc-globalcode
 
Skytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxySkytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxy
Fernando Ike
 
Aula PIT 3 - Ambientes
Aula PIT 3 - AmbientesAula PIT 3 - Ambientes
Aula PIT 3 - Ambientes
Dirceu Belém
 
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaAdequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Lucas Brasilino
 
Tópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster BeowulfTópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster Beowulf
Luiz Arthur
 

Mais procurados (20)

Node JS - Parte 3
Node JS - Parte 3Node JS - Parte 3
Node JS - Parte 3
 
Combo video aulas servidor linux + comandos shell linux
Combo video aulas servidor linux + comandos shell linuxCombo video aulas servidor linux + comandos shell linux
Combo video aulas servidor linux + comandos shell linux
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarman
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
 
Trab linux+sarg
Trab linux+sargTrab linux+sarg
Trab linux+sarg
 
PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manada
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
 
Sistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de salaSistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de sala
 
Node JS - Parte 4
Node JS - Parte 4Node JS - Parte 4
Node JS - Parte 4
 
Proftpd
ProftpdProftpd
Proftpd
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012
 
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager
 
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
 
Skytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxySkytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxy
 
Aula PIT 3 - Ambientes
Aula PIT 3 - AmbientesAula PIT 3 - Ambientes
Aula PIT 3 - Ambientes
 
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaAdequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
 
Tópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster BeowulfTópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster Beowulf
 

Destaque

Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
Eduardo Legatti
 
Treinamento DBA Essential
Treinamento DBA EssentialTreinamento DBA Essential
Treinamento DBA Essential
Douglas Paiva de Sousa
 
131444591 97430634-apostila-468-zabbix
131444591 97430634-apostila-468-zabbix131444591 97430634-apostila-468-zabbix
131444591 97430634-apostila-468-zabbix
Rodrigo Souza
 
Gnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USPGnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USP
Wellington Silva
 
Criando um baseline de seu ambiente completo utilizando ssis e ssrs
Criando um baseline de seu ambiente completo utilizando ssis e ssrsCriando um baseline de seu ambiente completo utilizando ssis e ssrs
Criando um baseline de seu ambiente completo utilizando ssis e ssrs
Marcos Freccia
 
Palestra ganeti puppet
Palestra ganeti puppetPalestra ganeti puppet
Palestra ganeti puppet
Daniel Sobral
 
Planejamento de Sac 2.0: do começo ao fim
Planejamento de Sac 2.0: do começo ao fimPlanejamento de Sac 2.0: do começo ao fim
Planejamento de Sac 2.0: do começo ao fim
Elife Brasil
 
Apostila Oracle
Apostila OracleApostila Oracle
Apostila Oracle
Ricardo Terra
 
Oracle database 12 c on oracle linux 7.3
Oracle database 12 c on oracle linux 7.3Oracle database 12 c on oracle linux 7.3
Oracle database 12 c on oracle linux 7.3
suk kim
 
Workshop SQL Server 2012
Workshop SQL Server 2012Workshop SQL Server 2012
Workshop SQL Server 2012
Viviane_ribeiro
 
JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.
Eduardo Medeiros
 
Monitoramento de Redes com Nagios
Monitoramento de Redes com NagiosMonitoramento de Redes com Nagios
Monitoramento de Redes com Nagios
Daniel Lara
 
Implantação do Windows Server 2008 R2
Implantação do Windows Server 2008 R2Implantação do Windows Server 2008 R2
Implantação do Windows Server 2008 R2
Fabio Hara
 
Treinamento RMAN Workshop 12c
Treinamento RMAN Workshop 12cTreinamento RMAN Workshop 12c
Treinamento RMAN Workshop 12c
Douglas Paiva de Sousa
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
Leonardo Lourenço Silva
 
12c on RHEL7
12c on RHEL712c on RHEL7
12c on RHEL7
Osama Mustafa
 
Codificando Night Week 2017 - Migrando seu banco de dados para a nuvem
Codificando Night Week 2017 - Migrando seu banco de dados para a nuvemCodificando Night Week 2017 - Migrando seu banco de dados para a nuvem
Codificando Night Week 2017 - Migrando seu banco de dados para a nuvem
Marcos Freccia
 

Destaque (17)

Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
 
Treinamento DBA Essential
Treinamento DBA EssentialTreinamento DBA Essential
Treinamento DBA Essential
 
131444591 97430634-apostila-468-zabbix
131444591 97430634-apostila-468-zabbix131444591 97430634-apostila-468-zabbix
131444591 97430634-apostila-468-zabbix
 
Gnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USPGnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USP
 
Criando um baseline de seu ambiente completo utilizando ssis e ssrs
Criando um baseline de seu ambiente completo utilizando ssis e ssrsCriando um baseline de seu ambiente completo utilizando ssis e ssrs
Criando um baseline de seu ambiente completo utilizando ssis e ssrs
 
Palestra ganeti puppet
Palestra ganeti puppetPalestra ganeti puppet
Palestra ganeti puppet
 
Planejamento de Sac 2.0: do começo ao fim
Planejamento de Sac 2.0: do começo ao fimPlanejamento de Sac 2.0: do começo ao fim
Planejamento de Sac 2.0: do começo ao fim
 
Apostila Oracle
Apostila OracleApostila Oracle
Apostila Oracle
 
Oracle database 12 c on oracle linux 7.3
Oracle database 12 c on oracle linux 7.3Oracle database 12 c on oracle linux 7.3
Oracle database 12 c on oracle linux 7.3
 
Workshop SQL Server 2012
Workshop SQL Server 2012Workshop SQL Server 2012
Workshop SQL Server 2012
 
JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.
 
Monitoramento de Redes com Nagios
Monitoramento de Redes com NagiosMonitoramento de Redes com Nagios
Monitoramento de Redes com Nagios
 
Implantação do Windows Server 2008 R2
Implantação do Windows Server 2008 R2Implantação do Windows Server 2008 R2
Implantação do Windows Server 2008 R2
 
Treinamento RMAN Workshop 12c
Treinamento RMAN Workshop 12cTreinamento RMAN Workshop 12c
Treinamento RMAN Workshop 12c
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
 
12c on RHEL7
12c on RHEL712c on RHEL7
12c on RHEL7
 
Codificando Night Week 2017 - Migrando seu banco de dados para a nuvem
Codificando Night Week 2017 - Migrando seu banco de dados para a nuvemCodificando Night Week 2017 - Migrando seu banco de dados para a nuvem
Codificando Night Week 2017 - Migrando seu banco de dados para a nuvem
 

Semelhante a Administracao de sistemas_com_puppet

Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
Daniel Sobral
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
Jose Augusto Carvalho
 
Puppet webcast 4linux
Puppet webcast 4linuxPuppet webcast 4linux
Puppet webcast 4linux
Jose Augusto Carvalho
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
Frederico Madeira
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
PotiLivre Sobrenome
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
PrinceGuru MS
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
Rafael Gomes
 
Oficina Puppet - Aprenda a Gerenciar Configurações
Oficina Puppet - Aprenda a Gerenciar ConfiguraçõesOficina Puppet - Aprenda a Gerenciar Configurações
Oficina Puppet - Aprenda a Gerenciar Configurações
Jose Augusto Carvalho
 
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Renato Groff
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
Renato Groff
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
Renato Groff
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
Fábio Albuquerque
 
Curso de shell-tutorial avançadoIII .pdf
Curso de shell-tutorial avançadoIII .pdfCurso de shell-tutorial avançadoIII .pdf
Curso de shell-tutorial avançadoIII .pdf
sarmentobambo1
 
Automação de Data Center
Automação de Data CenterAutomação de Data Center
Automação de Data Center
Eduardo Scarpellini
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Renato Groff
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Renato Groff
 
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Renato Groff
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
Paulo Victor Gomes
 
Gentoo
GentooGentoo
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
Jose Augusto Carvalho
 

Semelhante a Administracao de sistemas_com_puppet (20)

Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
 
Puppet webcast 4linux
Puppet webcast 4linuxPuppet webcast 4linux
Puppet webcast 4linux
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Oficina Puppet - Aprenda a Gerenciar Configurações
Oficina Puppet - Aprenda a Gerenciar ConfiguraçõesOficina Puppet - Aprenda a Gerenciar Configurações
Oficina Puppet - Aprenda a Gerenciar Configurações
 
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
Curso de shell-tutorial avançadoIII .pdf
Curso de shell-tutorial avançadoIII .pdfCurso de shell-tutorial avançadoIII .pdf
Curso de shell-tutorial avançadoIII .pdf
 
Automação de Data Center
Automação de Data CenterAutomação de Data Center
Automação de Data Center
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Gentoo
GentooGentoo
Gentoo
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 

Administracao de sistemas_com_puppet

  • 1. Automação e gerenciamento de servidores com puppet Pedro Filho Ramon Mota
  • 2. Motivações o Estudar alternativas para gerenciamento de servidores Requisitos 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. Porque não trabalhar com outras ferramentas semelhantes?   Quais os problemas que queremos resolver?
  • 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. 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 -nvL Problemas 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. 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ário Vantagens 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. 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. 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. 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. Afinal, como o puppet trabalha?
  • 11. Manifests São arquivos de configuração do puppet usados na gerência de 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. Resource • Conjunto funções ou objetos que definem as ações à serem tomadas; • RAL (Resource Abstraction Layer) é responsável pela interoperabilidade entre sistemas Tipos: 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. 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. Variaveis e Condicionais case $operatingsystem { centos, redhat: { $service_name = 'ntpd', } debian, ubuntu: { $service_name = 'ntp', } }
  • 15. #cat ntp.pp case $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. Como aplicar o manifest ao cliente? # vim /etc/puppet/manifests/site.pp node 'cliente.exemplo.com' { import 'ntp.pp' include ssh user { 'user_fisl': ensure => present, uid => '507', gid => 'admin', shell => '/bin/bash', home => '/home/fisl', } }
  • 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. 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. 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. 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. Um pouco mais de Puppet... Puppet Scalability • Integração com o Apache para gerenciamento de SSL
  • 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. Um pouco mais de Puppet... Marionette MCollective Exemplos: • Quais servidores tem 32 GB de memória? • Quantos servidores estão on-line? • Permite realizar um deploy nos clients em tempo real
  • 24. Um pouco mais de Puppet... Reports Centralizados no puppetmaster Por padrão são enviados no formato Yaml Report Processors • tagmail • rrdgraph • log
  • 25. Um pouco mais de Puppet... Puppet Dashboard
  • 26. Por onde iniciar / referências Documentação disponível em, http://docs.puppetlabs.com/ Perguntas? ramonmsf@gmail.com pedro.filho.jp@gmail.com