65
Como provisionador

Foreman como provisionador

Embed Size (px)

Citation preview

Page 1: Foreman como provisionador

Como provisionador

Page 2: Foreman como provisionador

Olá

André "Ramoni" Guimarães

https://ramoni.com.br

https://linkedin.com/in/andreramoni

Provedor / Segurança / Datacenter / Classificados / Pagamentos

Page 3: Foreman como provisionador

O que é o Foreman ?

Page 4: Foreman como provisionador

“A gordura sai, o sabor fica !”

Page 5: Foreman como provisionador

- 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.”

Page 6: Foreman como provisionador

- 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.”

Page 7: Foreman como provisionador

- 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.”

Page 8: Foreman como provisionador

- 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.”

Page 9: Foreman como provisionador

Dashboard

Page 10: Foreman como provisionador

Host

Page 11: Foreman como provisionador

Cockpit - recursos

Page 12: Foreman como provisionador

Cockpit - storage

Page 13: Foreman como provisionador

Cockpit - terminal

Page 14: Foreman como provisionador

AgendaForeman como Provisionador

Page 15: Foreman como provisionador

Foreman como Provisionador

Page 16: Foreman como provisionador

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

Page 17: Foreman como provisionador

Bare Metal faz sentido em ambiente virtualizado ?

Page 18: Foreman como provisionador

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.

Page 19: Foreman como provisionador

Sobre imagens…

Page 20: Foreman como provisionador

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.

Page 21: Foreman como provisionador

- Mancebo.

“Mas é muito mais rápido subir servidores usando imagens do que

tratar VMs como bare metal !”

Page 22: Foreman como provisionador

- Datena.

“Mas como unir os benefícios do Bare Metal com a agilidade das

ibagens ? Eu quero ibagens, me da ibagens !”

Page 23: Foreman como provisionador

- Packer.

“Simples.Provisione seu novo servidor e sua

aplicação como quiser. Depois, gere ibagens pra onde quiser usar.”

Page 24: Foreman como provisionador

Provisionando na nuvem…Exemplo: AWS

Page 25: Foreman como provisionador

Adicionando compute resource

Page 26: Foreman como provisionador

Adicionando compute resource

Page 27: Foreman como provisionador

Adicionando uma imagem

Page 28: Foreman como provisionador

Criando novo host

Page 29: Foreman como provisionador

Criando novo host

Page 30: Foreman como provisionador

Criando novo host

Page 31: Foreman como provisionador

Criando novo host

Page 32: Foreman como provisionador

- Daniel-san

“Mas se eu precisar criar 75 hosts vai ser trabalhoso, mestre !”

Page 33: Foreman como provisionador

Foreman API

Page 34: Foreman como provisionador

- Sr. “Complicador” Myiagi

“Sim gafanhoto, ainda mais se forem 25 na AWS, 25 no OpenStack e 25

no VMware.”

Page 35: Foreman como provisionador

- Foreman API

“Com um FOR, porra !”

Page 36: Foreman como provisionador

- https://theforeman.org/api/1.14/

Foreman API

Page 37: Foreman como provisionador

- https://theforeman.org/api/1.14/

Foreman API

Page 38: Foreman como provisionador

Mas voltando pro mundo físico agora...

Page 39: Foreman como provisionador

Criando novo host

Page 40: Foreman como provisionador

Criando novo host

Page 41: Foreman como provisionador

Criando novo host

Page 42: Foreman como provisionador

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

Page 43: Foreman como provisionador

O que o Foreman faz ?

IPAM para IPs estáticos e DHCP.

DNS direto e reverso.

Page 44: Foreman como provisionador

- Daniel-san

“Mas se forem muitos servidores vai dar trabalho, e tem que saber o MAC

de todos eles !”

Page 45: Foreman como provisionador

Foreman Discovery !

Page 46: Foreman como provisionador

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

Page 47: Foreman como provisionador

Foreman Discovery

Page 48: Foreman como provisionador

Foreman Discovery

Page 49: Foreman como provisionador

Foreman Discovery

Page 50: Foreman como provisionador

Foreman Discovery

Page 51: Foreman como provisionador

Foreman Discovery

Page 52: Foreman como provisionador

Foreman Discovery

Page 53: Foreman como provisionador

Foreman Discovery

Page 54: Foreman como provisionador

Foreman Discovery

Bare Metal as a Service

BOOTP, TFTP, DHCP, PXELinux, DNS…

Por isso depende de uma rede local de provisionamento

Page 55: Foreman como provisionador

“Então precisamos de um Foreman para cada Datacenter/Rede ?”

Page 56: Foreman como provisionador

Foreman Proxy !

Page 57: Foreman como provisionador

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.

Page 58: Foreman como provisionador

Foreman ProxyQuem pode ser Foreman Proxy?

Uma máquina física ou VM em cada DC…

Uma VM no seu notebook…

Um Raspberry Pi…

Page 59: Foreman como provisionador

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”

Page 60: Foreman como provisionador

Conclusão

Page 61: Foreman como provisionador

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.

Page 62: Foreman como provisionador

Automação é a mesma coisa

Page 63: Foreman como provisionador

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.

Page 64: Foreman como provisionador

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.

Page 65: Foreman como provisionador

Obrigadohttp://theforeman.orghttps://ramoni.com.br