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:
No servidor, os resultados são os seguintes:
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:
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:
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:
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:
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