foreman como provisionador

Post on 13-Apr-2017

82 Views

Category:

Internet

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

• Google

• 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

top related