O Foreman é uma ferramenta de gerenciamento de ciclo de vida completo para servidores físicos e virtuais. Ele permite automatizar tarefas repetitivas, implantar aplicativos rapidamente e gerenciar proativamente servidores locais ou na nuvem. O Foreman provisiona em metal nu, AWS, OpenStack, VMware e outros provedores, permitindo gerenciar uma nuvem híbrida. Ele também fornece gerenciamento de configuração com Puppet e Salt.
4. - https://theforeman.org
“Foreman is a complete lifecycle
management tool for physical and virtual
servers. We give system administrators the
power to easily automate repetitive tasks,
quickly deploy applications, and proactively
manage servers, on-premise or in the
cloud.”
5. - https://theforeman.org
Provisioning tool:
“Bare metal, Amazon EC2, Google
Compute Engine, Azure, OpenStack,
Libvirt, oVirt, VMware, and many other
providers allow you to manage a hybrid
cloud through Foreman.”
6. - https://theforeman.org
Configuration management:
“A complete configuration management
solution including an ENC for Puppet
and Salt, built-in support for
parameterized classes and hierarchical
parameter storage.”
11. Provisiona em:
• Bare metal
• Amazon AWS
• Rackspace
• Google
• OpenStack
• VMware
• Libvirt / oVirt
}
Via API (imagem)
}
Via API (imagem) ou Bare Metal
BOOTP + TFTP + PXELinux + DHCP + NetInstall
12. Cenário misto
Provisionamento centralizado.
Bare Metal: Firewalls e hosts da sua cloud interna.
Instâncias na sua cloud interna, no seu VMware e na
AWS.
As roles serão aplicadas da mesma forma.
O que muda entre subir sua aplicação no VMware, AWS
ou OpenStack é uma opção no menu.
14. Problemas de Imagens…
Gerenciar usuários no sistema da imagem.
Manter uma imagem para cada App/cloud.
NÃO evolua as imagens partindo das próprias imagens.
Sua aplicação tem que estar definida na sua
ferramenta de configuração, não na imagem.
15. - Daniel.
“Mas é muito mais rápido subir
aplicações usando imagens
prontas do que ter que instalar
e configurar coisas nas VMs !”
17. Ciclo de release com Packer
1. Parta de uma imagem nova e zerada do SO a ser utilizado
2. Aplique suas baselines (updates, pacotes, tunnings etc)
3. Pode gerar uma imagem intermediária
4. Aplique as classes/roles da sua aplicação
5. Gere uma nova imagem com Packer para cada cloud que ela vá
ser utilizada (vmware, aws, openstack etc)
6. Faça a imagem passar pelo seu ciclo de deploy (dev/homol/prod)
7. Repita o ciclo para cada nova versão da aplicação
35. O que o Foreman faz ?
Baixa o kernel e initrd da netinstall da distro escolhida
Faz o TFTP servir a imagem PXELinux de instalação praquele MAC
Configura o DHCP pra fornecer o IP configurado
Prepara o Puppet para auto-assinar o certificado do agente da
máquina
Instala e configura o agente do Puppet no final da instalação
Desfaz a configuração pro TFTP fornecer a imagem de boot de
instalação
36. O que o Foreman faz ?
IPAM para IPs estáticos e DHCP.
DNS direto e reverso.
37. - Daniel-san
“Mas se forem muitos
servidores vai dar trabalho,
e tem que saber o MAC de
todos eles !”
39. Foreman Discovery
Bare Metal as a Service
Lugar de servidor é no rack !
Servidores bootam pela rede interna de provisionamento
Listagem de servidores disponíveis para provisionamento
no Foreman
47. Foreman Discovery
Pode ser automatizado com regras como:
- Mais de 1Tb de ram e 50 cores => compute node
- Mais de 6 HDs => storage node
- Modelo de hardware X => firewall
48. Foreman Discovery
Bare Metal as a Service
BOOTP, TFTP, DHCP, PXELinux, DNS…
Por isso depende de uma rede local de provisionamento
49. “Então precisamos de um
Foreman para cada
Datacenter/Rede que
quisermos provisionar ?”
51. Foreman Proxy
Gerencia o TFTP, DHCP, PXELinux, DNS etc…
Um Foreman Proxy por rede de provisionamento
Um único Foreman, onde aparecerão os hosts
decobertos em todos os proxies.
52. Foreman Proxy
Quem pode ser Foreman Proxy?
Uma máquina física ou VM em cada DC…
Uma VM no seu notebook…
Um Raspberry Pi…
Ou seja: nada justifica você subir servidores
manualmente
53. Foreman Proxy
Mandamentos do bom Freelancer:
1. Tem um Foreman na AWS
2. Carrega um Foreman Proxy consigo em uma VM no Notebook
3. Pluga a rede do servidor no notebook e boota pela rede
4. Acessa o Foreman na AWS e seleciona o que o servidor vai ser
5. Após a instalação do SO o Puppet/Chef/Ansible concluem o
trabalho
6. Briga com o cliente que não quer pagar porque viu que “ele
não fez quase nada”
55. Meia automação não é automação
Não adianta automatizar a instalação do S.O. e ter que
subir os serviços na mão.
Não adianta automatizar a instalação dos serviços e ter
que instalar S.O., subir VMs e instâncias na mão.
Não adianta automatizar os dois se ainda precisar
adicionar no Load Balancer na mão.
O esforço pra subir 3 ou 274 servidores precisa ser o
mesmo.
56. Meia automação não é automação
O Foreman provisiona Bare Metal, VMware, AWS,
OpenStack, Azure etc.
Integra com sua ferramenta de configuração seja Puppet,
Ansible, Chef ou Salt.
RedHat Satellite = Katello(Foreman(Puppet))
57. Obrigado
The Foreman => https://theforeman.org
Meu site => https://ramoni.com.br
Slideshare => https://goo.gl/JzhE9n