Upload
andre-ramoni-guimaraes
View
82
Download
4
Embed Size (px)
Citation preview
Como provisionador
Olá
André "Ramoni" Guimarães
https://ramoni.com.br
https://linkedin.com/in/andreramoni
Provedor / Segurança / Datacenter / Classificados / Pagamentos
O que é o Foreman ?
“A gordura sai, o sabor fica !”
- 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.”
- 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.”
- 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.”
- 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.”
Dashboard
Host
Cockpit - recursos
Cockpit - storage
Cockpit - terminal
AgendaForeman como Provisionador
Foreman como Provisionador
Provisiona em:• Bare metal
• Amazon AWS
• Rackspace
• VMware
• OpenStack
• Libvirt / oVirt}
Via API (imagem)}Via API (imagem) ou Bare Metal
BOOTP + TFTP + PXELinux + DHCP + NetInstall
Bare Metal faz sentido em ambiente virtualizado ?
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.
Sobre imagens…
Problemas de Golden ImagesGerenciar 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.
- Mancebo.
“Mas é muito mais rápido subir servidores usando imagens do que
tratar VMs como bare metal !”
- Datena.
“Mas como unir os benefícios do Bare Metal com a agilidade das
ibagens ? Eu quero ibagens, me da ibagens !”
- Packer.
“Simples.Provisione seu novo servidor e sua
aplicação como quiser. Depois, gere ibagens pra onde quiser usar.”
Provisionando na nuvem…Exemplo: AWS
Adicionando compute resource
Adicionando compute resource
Adicionando uma imagem
Criando novo host
Criando novo host
Criando novo host
Criando novo host
- Daniel-san
“Mas se eu precisar criar 75 hosts vai ser trabalhoso, mestre !”
Foreman API
- Sr. “Complicador” Myiagi
“Sim gafanhoto, ainda mais se forem 25 na AWS, 25 no OpenStack e 25
no VMware.”
- Foreman API
“Com um FOR, porra !”
- https://theforeman.org/api/1.14/
Foreman API
- https://theforeman.org/api/1.14/
Foreman API
Mas voltando pro mundo físico agora...
Criando novo host
Criando novo host
Criando novo host
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
O que o Foreman faz ?
IPAM para IPs estáticos e DHCP.
DNS direto e reverso.
- Daniel-san
“Mas se forem muitos servidores vai dar trabalho, e tem que saber o MAC
de todos eles !”
Foreman Discovery !
Foreman DiscoveryBare 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
Foreman Discovery
Foreman Discovery
Foreman Discovery
Foreman Discovery
Foreman Discovery
Foreman Discovery
Foreman Discovery
Foreman Discovery
Bare Metal as a Service
BOOTP, TFTP, DHCP, PXELinux, DNS…
Por isso depende de uma rede local de provisionamento
“Então precisamos de um Foreman para cada Datacenter/Rede ?”
Foreman Proxy !
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.
Foreman ProxyQuem pode ser Foreman Proxy?
Uma máquina física ou VM em cada DC…
Uma VM no seu notebook…
Um Raspberry Pi…
Foreman ProxyMandamentos 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”
Conclusão
Quando o telefone tocae 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.
Automação é a mesma coisa
Meia automação não é automaçãoNã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.
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.
Obrigadohttp://theforeman.orghttps://ramoni.com.br