Foreman Discovery

Ainda sobre provisionamento com o Foreman vamos falar do Foreman Discovery, uma forma ainda mais simples de provisionamento que pode ser aplicada para provisionar muitos hosts físicos de forma muito rápida.

Lugar de servidor é o rack. Que tal se seu fornecedor de hardware pudesse entregar seus servidores no datacenter e seu pessoal de IDC já os colocasse no rack, ligasse, e eles aparecessem magicamente em uma interface web prontos para você clicar dizendo o que cada um deles será e provisioná-los automaticamente em minutos ?

Conheça o Foreman Discovery.

Já vimos como provisionar hosts especificando seu MAC mas saber o MAC de todos os servidores novos, quando muitos, não é nem um pouco prático.

O Foreman Discovery torna possível provisionar hosts sem nenhum conhecimento prévio sobre eles.

 

Habilitando o recurso

Para usá-lo, basta habilitar a função de Discovery pelo formam-installer:

foreman-installer -i

E habilite as opções 14 e 39:

Screenshot 2017-04-02 15.35.43

Por enquanto usaremos o próprio Foreman como formam-proxy de Discovery. Escreverei outro artigo sobre formam-proxies independentes depois.

Quando habilitar a opção 39, habilite também a opção para instalar a imagem (opção 2). Assim ele mesmo baixará a imagem PXE de Discovery automaticamente:

Screenshot 2017-04-02 15.35.26

Após isso, já deve aparecer uma nova linha no menu de hosts:

Screenshot 2017-04-02 15.45.31

Ajustando

Vá em Hosts -> Provisioning templates e edite o PXELinux global default para alterar o padrão para a opção de discovery (é necessário remover o lock antes):

Screenshot 2017-04-02 15.52.55

Screenshot 2017-04-02 15.54.34

Eu altero o timeout para 20 também.

Essa alteração fará que, quando ninguém interagir com o menu, o boot padrão seja pela imagem do Discovery.

Sempre que alterar este template será necessário clicar no botão na parte superior direita que diz Build PXE default para aplicar a mudança nos seus formam-proxies.

Testando

Ok, agora crie uma nova VM no Virtualbox com a 1a placa de rede na rede interna (intnet) e dando boot por ela.

O resultado esperado é o boot pela imagem de Discovery.

O host irá aparecer no menu Hosts -> Discovered hosts dessa forma:

Screenshot 2017-04-02 16.01.23

Clique no botão Provision e escolha o que este servidor será (seus hostgroups):

Screenshot 2017-04-02 16.02.51

Isso te levará à tela de criação de hosts que você já conhece, onde poderá customizar as configurações de rede, SO etc ou simplesmente aceitar as default definidas no hostgroup e rede.

Em um cenário bem configurado, nada mais será necessário.

Sua VM irá reiniciar automaticamente e o Foreman agora servirá a imagem PXE de instalação do sistema em vez da imagem de Discovery. Após instalado, o Foreman irá servir um menu cuja opção default será de boot pelo disco local. Ou seja, deixe sempre seu servidor bootar pela rede por padrão e deixe que o Foreman gerencie qual será a forma padrão de boot dele.

 

Em escala: provisionamento automático

E se você tiver trocentos hosts e puder determinar o que cada um deles será de acordo com sua configuração física ?

Exemplos:

  • Os hosts com mais de 28 cores e 1Tb de ram serão hosts OpenStack compute nodes
  • Os hosts com 512Gb de ram serão ESXi pro cluster vmware
  • Os hosts com mais de 10 discos locais serão Storage nodes com Ceph

Você consegue deixar tudo isso configurado em Configure -> Discovery Rules.

Com essas regras configuradas, quando os hosts bootarem pela rede e receberem a imagem de Discovery, em vez de aparecerem na interface web do Foreman prontos pra você provisioná-los, eles irão reiniciar e começar automaticamente a instalação do perfil desejado sem nenhuma interação humana.

Isso se torna surpreendentemente bacana quando suas classes Puppet estão bem feitas e, por exemplo, os hosts provisionados entram automaticamente no cluster.

Seu fornecedor entrega os servidores e o pessoal do IDC coloca no rack, cabeia e liga. Em alguns minutos seu cluster tem um host a mais e ninguem precisou clicar em nada. Simples assim.

 

 

 

Um comentário em “Foreman Discovery

Os comentários estão encerrados.