Provisionamento de VM Foreman sem SSH e DHCP/DNS

Provisionamento de VM Foreman sem SSH e DHCP/DNS

Estou tentando implementar o Foreman para nos permitir gerenciar e provisionar servidores para os clientes que gerenciamos, instalei o Foreman em um local central e depois instalei um Foreman Smart Proxy dentro de uma das redes do cliente, tudo está funcionando bem (remoto Puppet os agentes podem se conectar ao meu proxy inteligente e meu servidor Foreman central pode ver os dados), mas agora quero provisionar novas VMs (via vCenter). Eu instalei foreman-vmwaree configurei meu perfil de recurso de computação, criei uma entrada para meu modelo de VM, mas quando eu crio um novo host via Foreman e digo para ele clonar do meu modelo, ele trava aguardando que o nó esteja disponível, presumo que sim. SSH nele para finalizar a configuração, meu problema é que o servidor Foreman não terá conexão com a nova VM, eu esperava que a nova VM (que tem o agente Puppet instalado) fosse configurada para se conectar ao meu proxy inteligente e terminar de se configurar dessa forma?

Eu entendi meu design errado? Alguém pode me ajudar a projetar a solução certa para mim?

Não consigo criar um novo servidor DHCP, DNS e TFTP na rede do cliente, pois isso pode interferir nos serviços DHCP e DNS existentes.

Obrigado, Ben

Responder1

dr: Não funcionará atualmente, o provisionamento SSH vem do servidor capataz.

Temos uma configuração semelhante, onde temos uma instância pública/centralizada do Foreman/Puppet à qual conectamos vários clientes "pequenos". No nosso caso, nem instalei um “proxy inteligente” na rede do cliente. A equipe de TI do cliente realmente me forneceu credenciais SSH para uma instalação mínima do CentOS 6.x (efetivamente como implantar uma imagem?). No Foreman, acabei de criar a nova VM como "Bare Metal" e depois copiei o script final da aba "Templates" da tela de detalhes do Host, e colei na VM (tive que usar VPN para SSH na máquina cliente ). No seu caso, você provavelmente poderia fazer algo semelhante, mas quaisquer etapas "manuais" geralmente são desaprovadas.

Aqui estão algumas ideias aleatórias que tive enquanto pensava sobre isso:

  • Talvez você pudesse descobrir como usar o "cloud-init" e então seria capaz de "provisionar" (executar um script) a VM sem que o servidor capataz pudesse fazer SSH para ela. Não tenho certeza de como isso funcionaria com o ESXi e provavelmente exigiria algum "código personalizado" :)

  • Talvez configure um servidor OpenVPN no servidor capataz e configure suas imagens para conectar-se automaticamente à VPN ao servidor capataz. Isso tem algumas vantagens, pois você não precisa expor o fantoche/capataz à Internet, mas, novamente, provavelmente haveria algum código personalizado envolvido na tentativa de descobrir o IP VPN do host para o SSH. Também pode ser considerado uma vulnerabilidade por alguns clientes, especialmente se estiverem tentando ser compatíveis com PCI.

  • Crie um novo módulo que permita uma configuração "SSH via", de forma que o servidor capataz faça SSH para um host específico e, em seguida, para o IP do cliente desejado ( ssh -t viaHost ssh $HOST_ADDRESS) durante o processo de provisionamento. É claro que, se você seguir esse caminho, provavelmente também poderá torná-la uma operação de proxy inteligente, onde, em vez de tentar fazer o SSH do servidor capataz, seria solicitado a um proxy inteligente para fazer isso.

Todas essas são soluções potenciais, mas não creio que nenhuma delas funcione atualmente. Pode ser uma boa ideia registrar algumas solicitações de recursos emhttp://projects.theforeman.org/projects/foreman/issues

~tommy

Responder2

Solicitação pull#3623contra o nevoeiro, que é usado pelo Foreman, deve facilitar a execução de comandos a partir de user_datamodelos com umruncmdentrada.

informação relacionada