Como instalar o Puppet 6 no Ubuntu 18?

Aprenda a instalar um servidor Puppet & agente e configurar, então eles conversam entre si.


O Puppet é uma das ferramentas de gerenciamento de configuração mais adotadas pela empresa no mundo do DevOps. Como engenheiro de DevOps, você deve saber como configurar um fantoche no seu sistema.

Mas antes de começarmos, deixe-me dizer-lhe que instalar um boneco não é uma tarefa fácil. Se você perder uma única etapa ou alterar o fluxo de etapas mencionado neste tutorial, mesmo em um local, poderá estar coçando a cabeça o dia inteiro com muitos erros, mas sua configuração estará incompleta. Então, siga cada passo com muito cuidado.

Fantoche possui arquitetura cliente-servidor, que consiste em um mestre de fantoches (servidor) e agentes de fantoches (cliente). O Puppet Master possui todas as configurações e compila e fornece as configurações aos agentes de fantoches. Os Agentes de Marionetes enviam os fatos ao mestre de marionetes solicitando catálogos em intervalos. O Puppet Master envia de volta o catálogo solicitado ao agente de marionetes. O Puppet Agent aplica esse catálogo no nó e reporta ao mestre.

Agora que você tem uma compreensão básica do Puppet, vamos começar e configurar um Puppet Master e Puppet Agent.

Se você é um iniciante, pode gostar de fazer isso curso em vídeo online.

Detalhes do ambiente

Estou usando 2 máquinas Ubuntu 18.04. Um atuará como mestre de marionetes e o outro como agente de marionetes. Abaixo estão os detalhes das máquinas:

Mestre de Marionetes (Servidor)

  • Nome do host: puppet, puppet.geekflate.com
  • Endereço IP: 192.168.0.108

Agente de Marionetes (Cliente)

  • Nome do host: puppetagent
  • Endereço IP: 192.168.0.107

Instalando o Puppet Server

Antes de iniciar a instalação, preciso editar o arquivo / etc / hosts no mestre e no agente para que eles possam resolver um ao outro.

No nó mestre

[protegido por email]: ~ $ sudo gedit / etc / hosts

senha [sudo] para geekflare:

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.108 puppet puppet.geekflare.com

No nó do agente

[protegido por email]: ~ $ sudo gedit / etc / hosts

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.107 puppetagent
192.168.0.108 puppet puppet.geekflare.com

Agora, preciso obter um repositório de marionetes no meu nó mestre e atualizá-lo.

Faça o download do repositório de marionetes.

[protegido por email]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

–“ O que você precisa saber antes de começar a vender o seu carro?

Resolvendo apt.puppetlabs.com (apt.puppetlabs.com) … 99.86.19.107, 99.86.19.59, 99.86.19.2, …

Conectando a apt.puppetlabs.com (apt.puppetlabs.com) | 99.86.19.107 |: 443 … conectado.

Solicitação HTTP enviada, aguardando resposta … 200 OK

Duração: 11736 (11K) [application / x-debian-package]

Salvando em: ‘puppet6-release-bionic.deb’

puppet6-release-bio 100% [===================>] 11,46K –.- KB / s em 0s

2019-10-15 15:41:34 (236 MB / s) – ‘puppet6-release-bionic.deb’ salvo [11736/11736]

Adicionar e configurar o repositório puppet 6.

[protegido por email]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

Selecionando o pacote puppet6-release anteriormente não selecionado.

(Lendo arquivos e diretórios do banco de dados … 187041 atualmente instalados.)

Preparando para descompactar puppet6-release-bionic.deb …

Descompactando puppet6-release (6.0.0-5bionic) …

Configurando o puppet6-release (6.0.0-5bionic) …

Atualize a lista de repositórios.

[protegido por email]: ~ $ sudo apt update

Hit: 1 https://download.docker.com/linux/ubuntu bionic InRelease

Hit: 2 http://security.ubuntu.com/ubuntu cosmic-security InRelease

Clique: 3 http://ppa.launchpad.net/ansible/ansible/ubuntu cosmic InRelease

Get: 4 http://download.virtualbox.org/virtualbox/debian cósmica InRelease [4,429 B]

Get: 5 http://apt.puppetlabs.com InRelease biônico [85,3 kB]

Hit: 6 http://us.archive.ubuntu.com/ubuntu cosmic InRelease

Hit: 7 http://us.archive.ubuntu.com/ubuntu cosmic-updates InRelease

Get: 8 Pacotes http://download.virtualbox.org/virtualbox/debian cosmic / contrib amd64 [1.466 B]

Get: 9 http://apt.puppetlabs.com bionic / puppet6 todos os pacotes [13,5 kB]

Hit: 10 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease

Get: 11 http://apt.puppetlabs.com bionic / puppet6 Pacotes i386 [13,5 kB]

Get: 12 http://apt.puppetlabs.com pacotes bionic / puppet6 amd64 [32,3 kB]

Alcançado 151 kB em 2s (61,9 kB / s)

Lendo listas de pacotes … Concluído

Construindo árvore de dependência

Lendo informações do estado … Concluído

234 pacotes podem ser atualizados. Execute ‘apt list –upgradable’ para vê-los.

Instalando o Puppet Server

Vamos executar o comando abaixo no nó principal para instalar o servidor fantoche nele.

[protegido por email]: ~ $ sudo apt install -y puppetserver

Lendo listas de pacotes … Concluído

Construindo árvore de dependência

Lendo informações do estado … Concluído

Os seguintes pacotes adicionais serão instalados:

ca-certificados-java java-comum openjdk-8-jre-fantoche-agente sem cabeça

Pacotes sugeridos:

fontes-jre padrão-fontes-dejavu-fontes extras-ipafont-fontes góticas-ipafont-mincho

fontes-wqy-microhei fontes-wqy-zenhei

Os seguintes NOVOS pacotes serão instalados:

ca-certificados-java java-comum openjdk-8-jre-fantoche-agente sem cabeça

servidor de marionetes

0 atualizado, 5 recém-instalado, 0 a remover e 234 não atualizado.

Precisa obter 109 MB de arquivos.

Após esta operação, 287 MB de espaço em disco adicional serão usados.

Get: 1 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 java-common all 0.68ubuntu1 [6.988 B]

Get: 2 http://apt.puppetlabs.com bionic / puppet6 amd64 agente de marionetes amd64 6.10.1-1bionic [19.9 MB]

Get: 3 http://us.archive.ubuntu.com/ubuntu cosmic-updates / universe amd64 openjdk-8-jre-headless amd64 8u212-b03-0ubuntu1.18.10.1 [27.2 MB]

Get: 4 http://apt.puppetlabs.com bionic / puppet6 amd64 puppetserver todos os 6.7.1-1bionic [61.5 MB]

Get: 5 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 ca-certificates-java all 20180516ubuntu1 [12.3 kB]

Recuperado 109 MB em 1min 41s (1.072 kB / s)

Descompactando o servidor de puppets (6.7.1-1bionic) …

Configurando o agente fantoche (6.10.1-1bionic) …

Link simbólico criado /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Link simbólico criado /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Removido /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Configurando o java-common (0.68ubuntu1) …

Processando gatilhos para libc-bin (2.28-0ubuntu1) …

Processando gatilhos para systemd (239-7ubuntu10.12) …

Processando gatilhos para man-db (2.8.4-2) …

Processando gatilhos para certificados CA (20180409) …

Atualizando certificados em / etc / ssl / certs…

0 adicionado, 0 removido; feito.

Rodando ganchos em /etc/ca-certificates/update.d…

feito.

Configurando ca-certificate-java (20180516ubuntu1) …

head: não é possível abrir ‘/ etc / ssl / certs / java / cacerts’ para leitura: não existe esse arquivo ou diretório

Adicionando debian: SSL.com_EV_Root_Certification_Authority_ECC.pem

Adicionando debian: ssl-cert-snakeoil.pem

Adicionando debian: SwissSign_Gold_CA _-_ G2.pem

Adicionando debian: SZAFIR_ROOT_CA2.pem

Adicionando debian: OpenTrust_Root_CA_G3.pem

Adicionando debian: TWCA_Root_Certification_Authority.pem

Adicionando debian: QuoVadis_Root_CA_2_G3.pem

Adicionando debian: DST_Root_CA_X3.pem

Adicionando debian: SecureSign_RootCA11.pem

Adicionando debian: QuoVadis_Root_CA_1_G3.pem

Adicionando debian: T-TeleSec_GlobalRoot_Class_3.pem

Adicionando debian: Go_Daddy_Root_Certificate_Authority _-_ G2.pem

Adicionando debian: Actalis_Authentication_Root_CA.pem

Adicionando debian: Chambers_of_Commerce_Root _-_ 2008.pem

feito.

Processando gatilhos para certificados CA (20180409) …

Atualizando certificados em / etc / ssl / certs…

0 adicionado, 0 removido; feito.

Rodando ganchos em /etc/ca-certificates/update.d…

feito.

feito.

Configurando o openjdk-8-jre-headless: amd64 (8u212-b03-0ubuntu1.18.10.1) …

Configurando o servidor de marionetes (6.7.1-1bionic) …

usermod: sem alterações

Processando gatilhos para systemd (239-7ubuntu10.12) …

Configurando o Puppet Server

 Edite o arquivo puppetserver, como mostrado abaixo. Isso para configurar a JVM do servidor fantoche.

[protegido por email]: ~ $ sudo gedit / etc / default / puppetserver

# Modifique isso se desejar alterar a alocação de memória, ativar o JMX, etc

JAVA_ARGS ="-Xms512m -Xmx512m -Djruby.logger.class = com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

 Edite o arquivo de configuração do fantoche para modificar as configurações do servidor fantoche.

[protegido por email]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

# Este arquivo pode ser usado para substituir as configurações padrão de marionetes.

# Consulte os seguintes links para obter mais detalhes sobre quais configurações estão disponíveis:

# – https://puppet.com/docs/puppet/latest/config_important_settings.html

# – https://puppet.com/docs/puppet/latest/config_about_settings.html

# – https://puppet.com/docs/puppet/latest/config_file_main.html

# – https://puppet.com/docs/puppet/latest/configuration.html

[mestre]

vardir = / opt / puppetlabs / servidor / dados / puppetserver

logdir = / var / log / puppetlabs / puppetserver

rundir = / var / run / puppetlabs / puppetserver

pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid

codedir = / etc / puppetlabs / code

dns_alt_names = fantoche, puppet.geekflare.com

[a Principal]

certname = puppet.geekflare.com

server = puppet.geekflare.com

ambiente = produção

runinterval = 15m

O Puppet Server precisa gerar uma assinatura raiz e intermediária, CA.

[protegido por email]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca setup

Geração bem sucedida. Encontre seus arquivos em / etc / puppetlabs / puppet / ssl / ca

 Inicie e ative o serviço do servidor fantoche.

[protegido por email]: ~ $ sudo systemctl start puppetserver

[protegido por email]: ~ $ sudo systemctl enable puppetserver

Sincronizando o estado do puppetserver.service com o script de serviço SysV com / lib / systemd / systemd-sysv-install.

Executando: / lib / systemd / systemd-sysv-install enable puppetserver

Instalando o Puppet Agent

Siga as etapas abaixo no nó do agente, como fez no sistema mestre. O repositório de bonecos precisa apresentar em todos os nós do agente.

[protegido por email]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

[protegido por email]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

[protegido por email]: ~ $ sudo apt update

Execute o comando abaixo no nó do agente para instalar o agente fantoche.

[protegido por email]: ~ $ sudo apt install -y puppet-agent

Lendo listas de pacotes … Concluído

Construindo árvore de dependência

Lendo informações do estado … Concluído

Os seguintes NOVOS pacotes serão instalados:

agente de marionetes

0 atualizado, 1 recém-instalado, 0 para remover e 233 não atualizado.

Precisa obter 19,9 MB de arquivos.

Após esta operação, 115 MB de espaço em disco adicional serão usados.

Get: 1 http://apt.puppetlabs.com bionic / puppet6 amd64 agente fantoche amd64 6.10.1-1bionic [19.9 MB]

Obtidos 19,9 MB em 2s (8.488 kB / s)

Selecionando o agente fantoche de pacote anteriormente não selecionado.

(Lendo arquivos e diretórios do banco de dados … 185786 atualmente instalados.)

Preparando para descompactar … / puppet-agent_6.10.1-1bionic_amd64.deb …

Desempacotando o agente fantoche (6.10.1-1bionic) …

Configurando o agente fantoche (6.10.1-1bionic) …

Link simbólico criado /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Link simbólico criado /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Removido /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Processando gatilhos para libc-bin (2.28-0ubuntu1) …

Configurando o Puppet Agent

 Edite o arquivo de configuração do fantoche no nó do agente.

[protegido por email]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

[a Principal]

certname = puppetagent

server = puppet.geekflare.com

ambiente = produção

runinterval = 15m

Execute o comando abaixo para iniciar o serviço de marionetes. Este comando também será iniciado automaticamente após a inicialização.

[protegido por email]: ~ $ sudo / opt / puppetlabs / bin / fantoche de serviço de recursos fantoche garantir = rodar enable = true

serviço {‘fantoche’:

garantir => ‘corrida’,

enable => ‘verdade’,

Gerar e assinar certificados

Quando o agente inicia pela primeira vez, ele envia uma solicitação de assinatura de certificado ao mestre de marionetes. O mestre precisa verificar e assinar este certificado. Depois disso, o agente buscará catálogos do mestre e os aplicará aos nós do agente regularmente.

Agora que o agente fantoche está em execução, execute o comando abaixo no nó principal para verificar se recebeu alguma solicitação de assinatura de certificado.

No nó principal

[protegido por email]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list

senha [sudo] para geekflare:

Certificados solicitados:

Marionete (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Assine o certificado enviado pelo agente.

[protegido por email]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list

senha [sudo] para geekflare:

Certificados solicitados:

Marionete (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Execute o comando abaixo para verificar toda a lista de certificados. Um certificado já está lá, é o nó principal padrão e o outro é do nó do agente.

[protegido por email]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list –all

Certificados assinados:

Marionete (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

O objetivo do projeto é promover o desenvolvimento de habilidades e habilidades para o desenvolvimento de habilidades motoras e cognitivas. D4: B1: 9C: 05: 1A: 38: 2F: D6: 5F: 9C: 06 nomes alternativos: ["DNS: puppet.geekflare.com", "DNS: fantoche", "DNS: puppet.geekflare.com"]

No nó do agente

Agora, execute este comando para testar se a conexão foi estabelecida entre os nós mestre e agente, e tudo está funcionando bem.

[protegido por email]: ~ $ sudo / opt / puppetlabs / bin / agente fantoche –test

Info: Usando o ambiente configurado ‘produção’

Informações: recuperando pluginfacts

Informações: Recuperando plugin

Informações: Recuperando localidades

Info: Catálogo de Cache para Puppet-Agent

Info: Aplicando a versão de configuração ‘1571171191’

Aviso: catálogo aplicado em 0,02 segundos

Exemplo de boneco de exemplo

Vamos dar um exemplo simples de marionete. Vou criar um manifesto de fantoche simples, que cria um diretório com uma certa permissão.

No nó principal:

[protegido por email]: ~ $ sudo gedit /etc/puppetlabs/code/environments/production/manifests/site.pp

 Coloque o conteúdo abaixo.

nó ‘puppetagent’ {# Aplica-se apenas ao nó mencionado. Se nada mencionado, aplica-se a todos.

file {‘/ home / test’: # arquivo de tipo de recurso

garantir => ‘directory’, # Crie um diretório

owner => ‘root’, # Propriedade

group => ‘root’, # nome do grupo

mode => ‘0755’, # permissões de diretório

}

}

Agora, execute o comando abaixo para que um agente procure dominar e extrair as configurações. Depois de executar este comando, ele deve criar esse diretório no nó do agente.

No nó do agente

[protegido por email]: ~ $ sudo / opt / puppetlabs / bin / agente fantoche –test

senha [sudo] para geekflare:

Info: Usando o ambiente configurado ‘produção’

Informações: recuperando pluginfacts

Informações: Recuperando plugin

Informações: Recuperando localidades

Informações: Catálogo de Cache para Puppetagent

Info: Aplicando a versão de configuração ‘1571333010’

Aviso: / Etapa [principal] / Principal / Nó [puppetagent] / Arquivo [/ home / test] / garantir: criado

Aviso: catálogo aplicado em 0,05 segundos

Execute o comando ls para verificar se o diretor foi criado com sucesso. 

[protegido por email]: ~ $ ls -l / home /

32 total

drwxr-xr-x 13 geekflare geekflare 4096 jul 19 08:06 geekflare

drwx —— 2 root root 16384 23 out 2018 perdido + encontrado

drwxr-xr-x 23 geekflare geekflare 4096 17 de out 11:02 geekflare

drwxr-xr-x 2 root root 4096 17 de outubro 13:23 teste

drwxr-xr-x 2 nome de usuário nome de usuário 4096 jun 29 09:38 nome de usuário

Ai está!

Conclusão

Este foi um exemplo simples para demonstrar seu funcionamento. Mas imagine um cenário maior, em que você precisa instalar ou aplicar uma certa configuração em centenas de servidores. O Puppet pode ajudá-lo a alcançá-lo em minutos.

Se você estiver envolvido em automação e interessado em aprender mais, verifique este Curso Udemy, que fala sobre Ansible, Puppet e Salt.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map