Explicação detalhada do fantoche (8) - automação do fantoche

Hoje, continuarei apresentando a você o conhecimento relevante da operação e manutenção do Linux. O conteúdo principal deste artigo é a operação de automação em fantoche.

Primeiro, a autenticação automática do cliente fantoche

Anteriormente, apresentamos muitas operações básicas do fantoche e pudemos usar o fantoche para gerenciar dispositivos downstream em lotes. No entanto, o nível de automação no fantoche não é alto. No ambiente de produção de grandes empresas, o que esperamos é que após a instalação do sistema por meio de PXE ou cobbler, o dispositivo instale automaticamente o cliente fantoche e, em seguida, o cliente fantoche conclua automaticamente a instalação básica do software e a configuração do ambiente sem participação manual . Para conseguir isso, o primeiro e mais importante é obter a autenticação automática do cliente de marionetes, sem a necessidade de autorizar o cliente de marionetes no servidor de marionetes.
Para realizar a função de autenticação automática do cliente de marionetes, precisamos apenas abrir o arquivo de configuração do servidor de marionetes /etc/puppet/puppet.conf e adicionar o seguinte conteúdo no módulo [main] no arquivo de configuração:

autosign=true

Quando terminar, reinicie o cliente fantoche e execute o comando:

systemctl restart puppetmaster

Após a conclusão da execução, podemos encontrar um cliente fantoche que não solicitou um certificado e tentar solicitar um certificado fantoche. Os resultados são os seguintes:
insira a descrição da imagem aqui
No servidor, os resultados são os seguintes:
insira a descrição da imagem aqui
PS: O método de exclusão o certificado de marionete está na
etapa anterior. Às vezes, não há nenhum dispositivo existente que instale o cliente de marionetes, mas não solicitou um certificado. Neste momento, podemos excluir o certificado do cliente de marionetes que solicitou o certificado. As etapas de exclusão são as seguintes:
No servidor de marionetes, execute o comando:

puppet cert --clean 【客户端主机名】

No cliente do fantoche, para excluir o certificado do fantoche, execute o comando:

rm -rf /var/lib/puppet/ssl/

O dispositivo pode ser restaurado para o estado em que o certificado foi solicitado.

2. Sincronização automática do cliente fantoche

Além da esperança de que o servidor de marionetes possa executar autenticação automática de certificado, também esperamos que o cliente de marionetes no ambiente de produção possa sincronizar automaticamente com o servidor de marionetes regularmente para obter sua própria configuração.
Para o fantoche da versão 3.6.2 (a versão do fantoche instalada por padrão no CentOS7 é 3.6.2), para configurar a função de sincronização automática do cliente do fantoche, você precisa abrir o arquivo de configuração do fantoche no cliente do fantoche e em [ agent ] e escreva o seguinte:

server=puppet-server

Por padrão, o cliente fantoche sincronizará automaticamente a cada meia hora. Se você quiser modificar a hora, poderá escrever o seguinte no módulo [agente]:

runinterval 【自定义时间】

A unidade de tempo personalizada é segundos.
Após concluir a configuração acima, reinicie o cliente fantoche e execute o comando:

systemctl start puppet

Adotei a configuração de sincronizar a cada 20s. Após a configuração acima ser concluída, as informações de sincronização no servidor de marionetes são as seguintes:
insira a descrição da imagem aqui

Terceiro, o servidor de marionetes empurra ativamente

Na verdade, além de permitir que o cliente puppet solicite ativamente a configuração do servidor fantoche, o fantoche também permite que o servidor fantoche envie dados ativamente para o cliente fantoche.
Para implementar a função push ativa do servidor de marionetes, o cliente de marionetes deve primeiro escutar uma porta, para que o cliente de marionetes possa receber o conteúdo de notificação do servidor de marionetes. Por padrão, o cliente fantoche escuta na porta 8139. Abra o arquivo de configuração /etc/pupper/puppet.conf do cliente puppet e adicione o seguinte conteúdo no módulo [agent]:

listen=true

Em seguida, no diretório /etc/puppet/, crie um novo arquivo namespaceauth.conf e grave o seguinte conteúdo no arquivo:

[puppetrunner]
allow *

Em seguida, abra o arquivo /etc/puppet/auth.conf, no arquivo, escreva o conteúdo na frente do caminho /:

path /run
method save
allow *

Observe que o conteúdo acima deve ser adicionado à frente do caminho /, conforme mostrado abaixo:
insira a descrição da imagem aqui
caso contrário, um erro será relatado e a mensagem de erro será:
Erro: Falha no host puppet-client: Erro 403 no SERVIDOR: Solicitação proibida: puppet-server(192.168.136.20) o acesso ao /run/puppet-client [salvar] autenticado em :119
é o seguinte:
insira a descrição da imagem aqui
Após concluir a configuração acima, reinicie o cliente puppet.
No servidor de marionetes, tente a função push ativa do servidor de marionetes e execute o comando:

puppet kick -d puppet-client

O resultado da execução é o seguinte:
insira a descrição da imagem aqui
PS: Dicas
Nesta etapa, se o servidor de marionetes precisar enviar ativamente vários clientes de marionetes ao mesmo tempo, você poderá gravar a lista de hosts do cliente de marionetes em um arquivo, como puppet_client.txt, e depois execute o comando:

puppet kick -d `cat puppet_client.txt`

É isso.
Originalidade não é fácil, favor indicar a fonte para reimpressão: https://blog.csdn.net/weixin_40228200

Acho que você gosta

Origin blog.csdn.net/weixin_40228200/article/details/123689751
Recomendado
Clasificación