SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Puppet 3 (em 2017)
A vida como ela é
Taciano Tres
Analista de sistemas
Desenvolvedor Java
Administrador de sistemas
Desenvolvedor de infraestrutura
Puppet 3 Fim do suporte: 31/12/2016
Infra atual
Prova de conceito
3 Puppet Master 3.8.4
3 PuppetDB 1.5.2
3 Foreman 1.11
Tamanho do
problema
Quantidade de VMs x86
Windows-Puppet: 1250
GNU/Linux+Puppet: 4000
GNU/Linux-Puppet: 2150
Versões
Agente
Primórdios: 0.23, 0.24, 0.25
v2.x: 2.6, 2.7
v3.x: 3.0, … , 3.4, … , 3.7, 3.8
v4.x: 4.0, … , 4.9
v5.x: Maio/2017
Dependências
Facter
Yum/Zypper/Apt-get
`df -h`
`df -i`
Red Hat
Enterprise Linux
a.k.a. RHEL
RHEL 7
7.{2..3}
Puppet 3.8
Facter 2.4.6
RHEL 6
6.{2..9}
Puppet 3.8
Facter 2.4.6
RHEL 5
5.{9..11}
Puppet 3.4.2
Facter 2.4.6
SuSE Linux
Enterprise Server
a.k.a SLES
SLES 12
SP {0..2}
Puppet 3.8.5
Facter 2.0.2
SLES 11
SP {1..4}
Puppet 3.7
Facter 2.0.2
Outras questões
Módulos
Lista de 'exec'
exec { descompactar':
command => 'unzip instalador.zip',
unless => 'test -d /tmp/dir',
path => '/sbin:/bin:/usr/bin',
}
exec { 'instalar':
command => '/tmp/dir/install.sh',
depends => Exec['exec1'],
path => '/sbin:/bin:/usr/bin',
}
Clone Wars
Uma VM foi clonada. 'n' vezes.
Mesmo 'certname'
Mesmo certificado SSL
Requisita catálogo '2n' vezes por
hora
Nem tudo está
perdido
Considerações
Antes da migração
PuppetDB
Environments
Revisão dos módulos internos
Mudanças no parser
Fatos como tipos (não strings)
Considerações
Antes da migração
PuppetDB: não migrar
Environments
Revisão dos módulos internos
Mudanças no parser
Fatos como tipos (não strings)
Considerações
Antes da migração
PuppetDB: não migrar
Environments
Revisão dos módulos internos
Mudanças no parser
Fatos como tipos (não strings)
Considerações
Antes da migração
PuppetDB: não migrar
Environments
Revisão dos módulos internos
Mudanças no parser
Fatos como tipos (não strings)
Provisionando a
nova infra (com
puppet)
Puppet 4
Nova infra
baseada no PE 2016.5
puppet-agent 1.8.3
8 puppetserver 2.6.0
2 PuppetDB 4.2.5
2 Foreman 1.14
Puppet CA
Configurar novos repositórios
Instalar agente 4.8
puppet module install
--skip-dependencies <nome>.tar.gz
Criar manifesto básico
puppet apply -e 'include
profile::puppet::ca_startup'
puppet agent -t
puppet cert sign
--allow-dns-alt-names puppetca001
Puppet Server
{1..6}
Configurar novos repositórios
Instalar agente 4.8
puppet agent -t --server puppetca
--dns-alt-names puppet
puppet cert sign
--allow-dns-alt-names
puppetsr00{1..6}
PuppetDB
{1..2}
Configurar novos repositórios
Instalar agente 4.8
puppet agent -t --server puppet
--dns-alt-names puppetdb
puppet cert sign
--allow-dns-alt-names
puppetdb00{1..2}
Foreman
{1..2}
Configurar novos repositórios
Instalar agente 4.8
puppet agent -t --server puppet
--dns-alt-names foreman
puppet cert sign
--allow-dns-alt-names
puppetmn00{1..2}
r10k
Automatizando deploy de
módulos
2 control repo no GitLab
1 Puppet Server CA
production
6 Puppet Server
des, hom, piloto, prd
Relações
Puppet Server + CA + r10k
6 Puppet Server - CA + r10k
2 PuppetDB
2 Foreman
* agentes
Novos problemas
Migração
3.x → 4.x
service puppet stop
rm -rf /var/lib/puppet/ssl
yum remove facter puppet
yum install puppet-agent-1.8.3
puppet agent -t --server puppet
--ca_server puppetca
Vantagens
Puppet gerenciando Puppet
Versões atuais dos pacotes
Ferramentas mais performáticas
Módulos testados pela comunidade
Infra com redundância
Obrigado!
Sugestões de
leitura
Contatos:
@tacianot
tacianotres@gmail.com
Upgrading Puppet 3 to Puppet 4:
https://engineering.skroutz.gr/blog/
upgrading-puppet3-to-puppet4/

Contenu connexe

Tendances

Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxVictor Eloy
 
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
 
Seguranca informacao 1
Seguranca informacao 1Seguranca informacao 1
Seguranca informacao 1Nauber Gois
 
Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Fabrízio Mello
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Renan Aryel
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreadingArmando Daniel
 
Sistemas operacionais 14
Sistemas operacionais 14Sistemas operacionais 14
Sistemas operacionais 14Nauber Gois
 
Threads 10: CompletableFuture
Threads 10: CompletableFutureThreads 10: CompletableFuture
Threads 10: CompletableFutureHelder da Rocha
 
Alterar password linux user pam autentication
Alterar password linux user   pam autenticationAlterar password linux user   pam autentication
Alterar password linux user pam autenticationCarlos Eduardo
 
Threads 01: Criação e controle de threads
Threads 01: Criação e controle de threadsThreads 01: Criação e controle de threads
Threads 01: Criação e controle de threadsHelder da Rocha
 
Possibilidades com python
Possibilidades com pythonPossibilidades com python
Possibilidades com pythonUFPA
 

Tendances (19)

Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no Linux
 
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...
 
Seguranca informacao 1
Seguranca informacao 1Seguranca informacao 1
Seguranca informacao 1
 
Threads e sockets java
Threads e sockets javaThreads e sockets java
Threads e sockets java
 
Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Curso de Java: Threads
Curso de Java: ThreadsCurso de Java: Threads
Curso de Java: Threads
 
Sistemas operacionais 14
Sistemas operacionais 14Sistemas operacionais 14
Sistemas operacionais 14
 
Ruby
RubyRuby
Ruby
 
Threads 10: CompletableFuture
Threads 10: CompletableFutureThreads 10: CompletableFuture
Threads 10: CompletableFuture
 
Threads
ThreadsThreads
Threads
 
Alterar password linux user pam autentication
Alterar password linux user   pam autenticationAlterar password linux user   pam autentication
Alterar password linux user pam autentication
 
Gnome no FreeBSD
Gnome no FreeBSDGnome no FreeBSD
Gnome no FreeBSD
 
Threads 01: Criação e controle de threads
Threads 01: Criação e controle de threadsThreads 01: Criação e controle de threads
Threads 01: Criação e controle de threads
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 
Python com TDD
Python com TDDPython com TDD
Python com TDD
 
Possibilidades com python
Possibilidades com pythonPossibilidades com python
Possibilidades com python
 
servlet-respostas
servlet-respostasservlet-respostas
servlet-respostas
 

En vedette

Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
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çõesJose Augusto Carvalho
 
Why we are migrating to Chef from Puppet
Why we are migrating to Chef from PuppetWhy we are migrating to Chef from Puppet
Why we are migrating to Chef from PuppetYu Yamanaka
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLJose Augusto Carvalho
 
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet Puppet
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?Rob Reynolds
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2Vishal Biyani
 
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15Puppet
 
Puppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages OnPuppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages OnCloudCheckr
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3Vishal Biyani
 
DevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs AnsibleDevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs AnsibleMark Phillips
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabShinu Suresh
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 
Next Money Fintech Finals Hong Kong: January 19, 2017
Next Money Fintech Finals Hong Kong: January 19, 2017Next Money Fintech Finals Hong Kong: January 19, 2017
Next Money Fintech Finals Hong Kong: January 19, 2017Jim Marous
 
Pronunciamiento apo 25 03 2017
Pronunciamiento apo 25 03 2017Pronunciamiento apo 25 03 2017
Pronunciamiento apo 25 03 2017megaradioexpress
 
Impact Hub_Abidjan - Columbia Ci3
Impact Hub_Abidjan - Columbia Ci3Impact Hub_Abidjan - Columbia Ci3
Impact Hub_Abidjan - Columbia Ci3Kathy Liu, MPA CIPP
 
Ibm ai in cognitive era
Ibm ai in cognitive eraIbm ai in cognitive era
Ibm ai in cognitive eraMike Chang
 

En vedette (20)

Palestra Puppet Hora Livre
Palestra Puppet Hora LivrePalestra Puppet Hora Livre
Palestra Puppet Hora Livre
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
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
 
Why we are migrating to Chef from Puppet
Why we are migrating to Chef from PuppetWhy we are migrating to Chef from Puppet
Why we are migrating to Chef from Puppet
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISL
 
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2
 
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
 
Puppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages OnPuppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages On
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3
 
DevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs AnsibleDevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs Ansible
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
Next Money Fintech Finals Hong Kong: January 19, 2017
Next Money Fintech Finals Hong Kong: January 19, 2017Next Money Fintech Finals Hong Kong: January 19, 2017
Next Money Fintech Finals Hong Kong: January 19, 2017
 
Pronunciamiento apo 25 03 2017
Pronunciamiento apo 25 03 2017Pronunciamiento apo 25 03 2017
Pronunciamiento apo 25 03 2017
 
PIKASEN Clasificadora con lector óptico
PIKASEN Clasificadora con lector ópticoPIKASEN Clasificadora con lector óptico
PIKASEN Clasificadora con lector óptico
 
Impact Hub_Abidjan - Columbia Ci3
Impact Hub_Abidjan - Columbia Ci3Impact Hub_Abidjan - Columbia Ci3
Impact Hub_Abidjan - Columbia Ci3
 
Ibm ai in cognitive era
Ibm ai in cognitive eraIbm ai in cognitive era
Ibm ai in cognitive era
 
¿Qué encuentras en IMPROTO?
¿Qué encuentras en IMPROTO?¿Qué encuentras en IMPROTO?
¿Qué encuentras en IMPROTO?
 

Similaire à Migração de Puppet 3 para Puppet 4 em ambiente corporativo

Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_puppetRamon Mota
 
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
 
Gerência de redes utilizando o cacti
Gerência de redes utilizando o cactiGerência de redes utilizando o cacti
Gerência de redes utilizando o cactiIsraelCunha
 
Primeiros passos com Openstack
Primeiros passos com OpenstackPrimeiros passos com Openstack
Primeiros passos com OpenstackDalton Valadares
 
Trabalho Configuração de Servidores Unix
Trabalho Configuração de Servidores UnixTrabalho Configuração de Servidores Unix
Trabalho Configuração de Servidores UnixVitor Savicki
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLErick Belluci Tedeschi
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação MonografiaLeon Homar
 
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
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCFabrício Lopes Sanchez
 
Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP Vasco Silva
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
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
 
Project HA
Project HAProject HA
Project HAKarpv
 

Similaire à Migração de Puppet 3 para Puppet 4 em ambiente corporativo (20)

Começando no Pentaho
Começando no PentahoComeçando no Pentaho
Começando no Pentaho
 
Axuste do Kernel 2.6
Axuste do Kernel 2.6Axuste do Kernel 2.6
Axuste do Kernel 2.6
 
Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_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 Puppet
 
Gerência de redes utilizando o cacti
Gerência de redes utilizando o cactiGerência de redes utilizando o cacti
Gerência de redes utilizando o cacti
 
Primeiros passos com Openstack
Primeiros passos com OpenstackPrimeiros passos com Openstack
Primeiros passos com Openstack
 
Trabalho Configuração de Servidores Unix
Trabalho Configuração de Servidores UnixTrabalho Configuração de Servidores Unix
Trabalho Configuração de Servidores Unix
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação Monografia
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
Python3
Python3Python3
Python3
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVC
 
Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP Apresentação Pulse 2 e LEP
Apresentação Pulse 2 e LEP
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Curso python
Curso pythonCurso python
Curso python
 
Puppet webcast 4linux
Puppet webcast 4linuxPuppet webcast 4linux
Puppet webcast 4linux
 
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)
 
Mercurial hg
Mercurial hgMercurial hg
Mercurial hg
 
Project HA
Project HAProject HA
Project HA
 

Migração de Puppet 3 para Puppet 4 em ambiente corporativo