5. - 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.”
6. - 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.”
7. - 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.”
8. - https://theforeman.org
Monitoring:
“Collect Puppet, Chef, Salt and Ansible
reports and facts. Monitor host
configuration, report status, distribution and
trends. See in your dashboard which hosts
are healthy, and which ones are outdated.”
16. Provisiona em:
• Bare metal
• Amazon AWS
• Rackspace
• Google
• VMware
• OpenStack
• Libvirt / oVirt
}
Via API (imagem)
}
Via API (imagem) ou Bare Metal
BOOTP + TFTP + PXELinux + DHCP + NetInstall
18. Vantagens do “bare metal”
Provisionar serviços em máquinas físicas ou virtuais da mesma forma.
Partir de um sistema mínimo novo, instalado na hora e atualizado.
Curto ciclo de vida do SO, servidores descartáveis.
Nova versão da app ou upgrade de SO: nova instalação.
Evita o problema das configurações e scripts mágicos não
documentados.
Evita o medo de reconstruir ou até reiniciar o servidor.
20. Problemas de Golden Images
Gerenciar usuários no sistema da imagem.
Atualizar o sistema e aplicações das N diferentes imagens.
NÃO evolua as imagens partindo das próprias imagens.
A aplicação tem que estar definida em outra ferramenta, não na imagem.
21. - Mancebo.
“Mas é muito mais rápido subir
servidores usando imagens do que
tratar VMs como bare metal !”
22. - Datena.
“Mas como unir os benefícios do
Bare Metal com a agilidade das
ibagens ? Eu quero ibagens, me da
ibagens !”
42. 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
43. O que o Foreman faz ?
IPAM para IPs estáticos e DHCP.
DNS direto e reverso.
44. - Daniel-san
“Mas se forem muitos servidores vai
dar trabalho, e tem que saber o MAC
de todos eles !”
46. 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
57. 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.
58. 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…
59. 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”
61. Quando o telefone toca
e você precisa anotar um recado…
Você tem papel e não tem caneta.
Você tem caneta mas não tem papel.
Quando tem os dois o telefone não toca.
63. 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.
64. Meia automação não é automação
Seja Foreman, Razor, Clobber…
Seja Puppet, Chef, Ansible, Salt, CfEngine…
Automatize não só a aplicação, mas o provisionamento também.
E nisso, o Foreman pode ajudar.