SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Gerenciamento de Configurações – Puppet
05/08/2015
Roberto Scudeller
roberto.scudeller@oi.net.br
beto.rvs@gmail.com
Gerenciamento de Configurações - Puppet
Objetivos:
● Atualização da ferramenta;
● Separação dos ambientes de homolog/dev de production;
● Adequação ao padrão de mercado;
● Utilização de módulos prontos via puppetforge;
● Poucos módulos “homemade”;
● Testes automatizados nos módulos;
● Separação de dados de recursos (manifests);
● Exportação de dados para analise via puppetdb;
● Criação de pipeline para entrega em produção via jenkins.
Gerenciamento de Configurações - Puppet
homolog/dev production
(FS) environments =>
common/modules
development/modules
development/hostsgroup
Homolog/...
Production/...
Resources e Data juntos!!!!
SVN trunk!!!!
Gerenciamento de Configurações - Puppet
#puppet agent -t
$svn ci -m 'alter something'
Local File System
sysadmin
Gerenciamento de Configurações - Puppet
Gerenciamento de Configurações - Puppet
Gerenciamento de Configurações - Puppet
Alterações:
● Nova Versão: 4.2
Como era:
/etc/puppet/
Como fica:
/etc/puppetlabs/
homolog/dev
production
Git pull/
clone
Environments:
$production
$branchs
Modules:
Puppetfile
Modules (homemade):
- git-repo/modules.
Gerenciamento de Configurações - Puppet
#puppetdb#hosts
Gerenciamento de Configurações - Puppet
Gerenciamento de Configurações - Puppet
$ curl http://puppet.localdomain:8080/pdb/query/v4/nodes/
[ {
"deactivated" : null,
"facts_environment" : "production",
"report_environment" : "production",
"catalog_environment" : "production",
"facts_timestamp" : "2015-07-28T19:33:07.861Z",
"expired" : null,
"report_timestamp" : "2015-07-28T19:33:08.542Z",
"certname" : "puppet-1.localdomain",
"catalog_timestamp" : "2015-07-28T19:33:08.762Z"
} ]
Gerenciamento de Configurações - Puppet
$ curl http://puppet.localdomain:8080/pdb/query/v4/resources/File
[ {
"tags" : [ "role", "class", "puppetserver", "profile", "profile::puppetagent", "file", "puppetagent",
"role::puppetserver" ],
"file" :
"/etc/puppetlabs/code/environments/production/modules/profile/manifests/puppetagent.pp",
"type" : "File",
"title" : "/tmp/tmp.000",
"line" : 5,
"resource" : "57e64e48ecb6cd68464f1f48bf52a8afea459ae1",
"environment" : "production",
"certname" : "puppet-1.localdomain",
"parameters" : {
"content" : "puppet.localdomain",
"ensure" : "present"
},
"exported" : false
} ]
Gerenciamento de Configurações - Puppet
/etc/puppetlabs/code/environments:
$branch = production
hieradata/*.yaml
manifests/
modules/profile
modules/role
/etc/puppetlabs/code/modules/{puppetforge sources}
Role => função de negócio
Profile => regra de implantação
Modulos => classes
Hiera => data
Role e Profile são módulos do
puppet para organizar as
classes.
Nova organização do puppet:
Gerenciamento de Configurações - Puppet
hieradata/puppet_role/servername.yaml
- - -
puppetmaster: puppet.localdomain
classes:
include role::webserver
class role::webserver {
include profile::apache
include profile::php
include profile::certificados
}
class profile::apache {
apache::vhost { 'first.example.com':
port => '80',
docroot => '/var/www/first',
}
}
Gerenciamento de Configurações - Puppet
1 - Git
push
testing
hook
#puppet agent -t environment=testing
Testes:
- rspec-puppet;
- syntax check
- lint
DEPLOY
$branch=testing
IF OK
#merge
$production
sysadmin
Gerenciamento de Configurações - Puppet
Workflow proposto:
● Branch environment.git;
● Faz todas as alterações necessárias;
● Executa o commit e push;
● Executa o deploy no puppet server;
● Testa no servidor com “environment=$branch”;
● Valida se tudo esta ok;
● Executa o merge deste $branch em $production;
● Realiza o deploy no puppet server.
Gerenciamento de Configurações - Puppet
Gerenciamento de Configurações - Puppet
Próximos passos:
● Testar a integração com o jenkins e criação de jobs;
● Implatantação da estrutura em produção;
● POC de estratégias de migração do puppet legado, 2.7 para o novo 4.2;
● Importar as primeiras classes (Puppetfile);
● Criar os primeiros profiles e roles;
● Criar workflow de entrega em produção;
Gerenciamento de Configurações - Puppet
Referências:
https://puppetlabs.com/presentations/designing-puppet-rolesprofiles-pattern
http://www.craigdunn.org/2012/05/239/
http://rnelson0.com/2014/07/14/intro-to-roles-and-profiles-with-puppet-and-hiera/
http://www.jeffmalnick.com/blog/2014/05/16/r10k-control-repos/
https://puppetlabs.com/presentations/killer-r10k-workflow-phil-zimmerman-time-warner-cable
http://somethingsinistral.net/blog/rethinking-puppet-deployment/
http://rnelson0.com/2014/10/20/rewriting-a-puppet-module-for-use-with-hiera/
http://rnelson0.com/2014/12/01/beyond-rspec-puppet-puppetlabs_spec_helper/
http://rnelson0.com/2015/04/15/improved-r10k-deployment-patterns/
https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd

Weitere ähnliche Inhalte

Was ist angesagt?

Otimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - TchelinuxOtimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - TchelinuxElton Minetto
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLJose Augusto Carvalho
 
Automação de Ambientes com Puppet
Automação de Ambientes com Puppet Automação de Ambientes com Puppet
Automação de Ambientes com Puppet 4LinuxCursos
 
Infraestrutura como código com Puppet e Mcollective
Infraestrutura como código com Puppet e McollectiveInfraestrutura como código com Puppet e Mcollective
Infraestrutura como código com Puppet e McollectiveJose Augusto Carvalho
 
Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)Jose Augusto Carvalho
 
Ferramentas para infraestrutura ágil
Ferramentas para infraestrutura ágilFerramentas para infraestrutura ágil
Ferramentas para infraestrutura ágilJose Augusto Carvalho
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdoJorge Luís Gregório
 
Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6danielfcampos
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTelliando dias
 
Otimizacao de aplicações Zend Framework
Otimizacao de aplicações Zend FrameworkOtimizacao de aplicações Zend Framework
Otimizacao de aplicações Zend FrameworkElton Minetto
 
UOL Tech Day: Testes de Integração com OpenEJB
UOL Tech Day: Testes de Integração com OpenEJBUOL Tech Day: Testes de Integração com OpenEJB
UOL Tech Day: Testes de Integração com OpenEJBGabriel Ozeas
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 

Was ist angesagt? (18)

Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
Otimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - TchelinuxOtimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - Tchelinux
 
Trabalhando com Módulos no Puppet
Trabalhando com Módulos no PuppetTrabalhando com Módulos no Puppet
Trabalhando com Módulos no Puppet
 
Servlets
ServletsServlets
Servlets
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISL
 
Automação de Ambientes com Puppet
Automação de Ambientes com Puppet Automação de Ambientes com Puppet
Automação de Ambientes com Puppet
 
Infraestrutura como código com Puppet e Mcollective
Infraestrutura como código com Puppet e McollectiveInfraestrutura como código com Puppet e Mcollective
Infraestrutura como código com Puppet e Mcollective
 
Java 08
Java 08Java 08
Java 08
 
Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)Oficina de infraestrutura como código (apresentando o Puppet)
Oficina de infraestrutura como código (apresentando o Puppet)
 
Ferramentas para infraestrutura ágil
Ferramentas para infraestrutura ágilFerramentas para infraestrutura ágil
Ferramentas para infraestrutura ágil
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
 
Otimizacao de aplicações Zend Framework
Otimizacao de aplicações Zend FrameworkOtimizacao de aplicações Zend Framework
Otimizacao de aplicações Zend Framework
 
UOL Tech Day: Testes de Integração com OpenEJB
UOL Tech Day: Testes de Integração com OpenEJBUOL Tech Day: Testes de Integração com OpenEJB
UOL Tech Day: Testes de Integração com OpenEJB
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 

Ähnlich wie Gerenciamento de Configurações - Puppet

Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppetpericles_junior
 
Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37Wilson Lopes
 
Ferramentas para Automação de Datacenter
Ferramentas para Automação de DatacenterFerramentas para Automação de Datacenter
Ferramentas para Automação de DatacenterWilson Lopes
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Jaime Neto
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-toolunifesptk
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Fabrízio Mello
 
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Tchelinux
 
Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_puppetRamon Mota
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 

Ähnlich wie Gerenciamento de Configurações - Puppet (20)

Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppet
 
Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37
 
Ferramentas para Automação de Datacenter
Ferramentas para Automação de DatacenterFerramentas para Automação de Datacenter
Ferramentas para Automação de Datacenter
 
Apresentacao_Puppet
Apresentacao_PuppetApresentacao_Puppet
Apresentacao_Puppet
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
Cloudformation
CloudformationCloudformation
Cloudformation
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-tool
 
Doctrine for dummies
Doctrine for dummiesDoctrine for dummies
Doctrine for dummies
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012
 
Automação de Data Center
Automação de Data CenterAutomação de Data Center
Automação de Data Center
 
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
 
Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_puppet
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 

Gerenciamento de Configurações - Puppet

  • 1. Gerenciamento de Configurações – Puppet 05/08/2015 Roberto Scudeller roberto.scudeller@oi.net.br beto.rvs@gmail.com
  • 2. Gerenciamento de Configurações - Puppet Objetivos: ● Atualização da ferramenta; ● Separação dos ambientes de homolog/dev de production; ● Adequação ao padrão de mercado; ● Utilização de módulos prontos via puppetforge; ● Poucos módulos “homemade”; ● Testes automatizados nos módulos; ● Separação de dados de recursos (manifests); ● Exportação de dados para analise via puppetdb; ● Criação de pipeline para entrega em produção via jenkins.
  • 3. Gerenciamento de Configurações - Puppet homolog/dev production (FS) environments => common/modules development/modules development/hostsgroup Homolog/... Production/... Resources e Data juntos!!!! SVN trunk!!!!
  • 4. Gerenciamento de Configurações - Puppet #puppet agent -t $svn ci -m 'alter something' Local File System sysadmin
  • 7. Gerenciamento de Configurações - Puppet Alterações: ● Nova Versão: 4.2 Como era: /etc/puppet/ Como fica: /etc/puppetlabs/ homolog/dev production Git pull/ clone Environments: $production $branchs Modules: Puppetfile Modules (homemade): - git-repo/modules.
  • 8. Gerenciamento de Configurações - Puppet #puppetdb#hosts
  • 10. Gerenciamento de Configurações - Puppet $ curl http://puppet.localdomain:8080/pdb/query/v4/nodes/ [ { "deactivated" : null, "facts_environment" : "production", "report_environment" : "production", "catalog_environment" : "production", "facts_timestamp" : "2015-07-28T19:33:07.861Z", "expired" : null, "report_timestamp" : "2015-07-28T19:33:08.542Z", "certname" : "puppet-1.localdomain", "catalog_timestamp" : "2015-07-28T19:33:08.762Z" } ]
  • 11. Gerenciamento de Configurações - Puppet $ curl http://puppet.localdomain:8080/pdb/query/v4/resources/File [ { "tags" : [ "role", "class", "puppetserver", "profile", "profile::puppetagent", "file", "puppetagent", "role::puppetserver" ], "file" : "/etc/puppetlabs/code/environments/production/modules/profile/manifests/puppetagent.pp", "type" : "File", "title" : "/tmp/tmp.000", "line" : 5, "resource" : "57e64e48ecb6cd68464f1f48bf52a8afea459ae1", "environment" : "production", "certname" : "puppet-1.localdomain", "parameters" : { "content" : "puppet.localdomain", "ensure" : "present" }, "exported" : false } ]
  • 12. Gerenciamento de Configurações - Puppet /etc/puppetlabs/code/environments: $branch = production hieradata/*.yaml manifests/ modules/profile modules/role /etc/puppetlabs/code/modules/{puppetforge sources} Role => função de negócio Profile => regra de implantação Modulos => classes Hiera => data Role e Profile são módulos do puppet para organizar as classes. Nova organização do puppet:
  • 13. Gerenciamento de Configurações - Puppet hieradata/puppet_role/servername.yaml - - - puppetmaster: puppet.localdomain classes: include role::webserver class role::webserver { include profile::apache include profile::php include profile::certificados } class profile::apache { apache::vhost { 'first.example.com': port => '80', docroot => '/var/www/first', } }
  • 14. Gerenciamento de Configurações - Puppet 1 - Git push testing hook #puppet agent -t environment=testing Testes: - rspec-puppet; - syntax check - lint DEPLOY $branch=testing IF OK #merge $production sysadmin
  • 15. Gerenciamento de Configurações - Puppet Workflow proposto: ● Branch environment.git; ● Faz todas as alterações necessárias; ● Executa o commit e push; ● Executa o deploy no puppet server; ● Testa no servidor com “environment=$branch”; ● Valida se tudo esta ok; ● Executa o merge deste $branch em $production; ● Realiza o deploy no puppet server.
  • 17. Gerenciamento de Configurações - Puppet Próximos passos: ● Testar a integração com o jenkins e criação de jobs; ● Implatantação da estrutura em produção; ● POC de estratégias de migração do puppet legado, 2.7 para o novo 4.2; ● Importar as primeiras classes (Puppetfile); ● Criar os primeiros profiles e roles; ● Criar workflow de entrega em produção;
  • 18. Gerenciamento de Configurações - Puppet Referências: https://puppetlabs.com/presentations/designing-puppet-rolesprofiles-pattern http://www.craigdunn.org/2012/05/239/ http://rnelson0.com/2014/07/14/intro-to-roles-and-profiles-with-puppet-and-hiera/ http://www.jeffmalnick.com/blog/2014/05/16/r10k-control-repos/ https://puppetlabs.com/presentations/killer-r10k-workflow-phil-zimmerman-time-warner-cable http://somethingsinistral.net/blog/rethinking-puppet-deployment/ http://rnelson0.com/2014/10/20/rewriting-a-puppet-module-for-use-with-hiera/ http://rnelson0.com/2014/12/01/beyond-rspec-puppet-puppetlabs_spec_helper/ http://rnelson0.com/2015/04/15/improved-r10k-deployment-patterns/ https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd

Hinweis der Redaktion

  1. Inicio da apresentação: quem eu sou. E contato.
  2. Objetivos desta apresentação
  3. Este é um ambiente legado que tinhamos na empresa, usando o svn como controle de versão e utilizando a funçao de fileserver do puppet. Problemas como resources e data nos manifests do puppet e todos no trunk do SVN.
  4. Aqui temos um exemplo de utilização do puppet neste ambiente legado, onde os sysadmins fazem o commit diretamente no ambiente e sem nenhum teste (apenas alguns hooks do svn), os manifests já se encontravam em produção. Mesmo com a estrutura modular do puppet, podiamos ter algum módulo com problema quebrando o catalogo tanto de servidores de desenvolvimento como servidores de produção.
  5. Portanto, “relaxa”! Tudo irá bem. Será?
  6. A não ser que algo quebre e coloque tudo a perder...
  7. Nova versão do puppet e separação do ambiente de desenvolvimento de produção. Dando mais liberdade para os sysadmins atuarem sem terem receio de “quebrar” algo em produção.Nesta nova implantação, usaremos módulos do puppet forge e os dinamyc environments (com os branchs do git)
  8. Adicionaremos o puppet-db para expandir a visibilidade além de suas outras funcionalidades, como “exported resources”.
  9. Esta é a cara do puppet DB.
  10. Um exemplo de informação que o puppet DB trás com um simples GET.
  11. Outro exemplo de puppetdb.
  12. Visualização da estrutura de diretórios do puppet e como será a função de alguns diretórios dentro do puppet. Uma recomendação é a utilização dos módulos profile e role para organização de seus manifests e aplicação das classes importadas do puppet forge. A utilização do hiera como “guardião” da data, da informação referente aos manifests, como um IP do servidor de monitoração por exemplo.
  13. Aqui alguns exemplos de profile, role e hiera data. Utilizando o hiera como node classifier.
  14. Este seria o diagrama do workflow propopsto, iniciando sempre com as alterações do sysadmin no repositório do git e fazendo o push para o git que inicia todo o processo com um hook que chama o jenkins para validar suas alterações, como check de manifests, check de templates e etc, para caso de sucesso nos testes, ele aplica no servidor do puppet. Após isso, o sysadmin teste usando a tag “--environment testing” ao executar o puppet nos servidores. Assim que suas alterações estiverem ok, ele realiza o merge deste código em produção. Assim suas alterações seriam visualizadas por todo o parque de computadores.
  15. Detalhamento do workflow proposto.
  16. E tudo será bem mais incrível. Ou pelo menos mais estruturado e fácil. Um pouco de controle sobre o gerenciador de confirgurações é sempre bem vinda.
  17. Notas sobre os próximos passos a serem feitos, ou que precisam ser validados.
  18. Referências