The Foreman – Lifecycle, Provisioning, Configuration, Orchestration and Monitoring.
Instalação de hosts via PXE – BootStrap. O intuito é provisionar um novo host já integrado com o Puppet.
Você pode instalar tanto VMs como hosts físicos “Bare Metal”.
Assumo que você já tenha a aplicação The Foreman instalada e configurada conforme a parte 1 http://devopslab.com.br/como-instalar-e-configurar-o-the-foreman/
1. Criação do Sistema Operacional
Vamos instalar o CentOS 7.
Em Home-The-Foreman -> Hosts -> Operating Systems -> New Operating System
Operating System preencha os dados do Sistema Operacional.
Name: CentOS7
Major version: 7
Description: CentOS 7
Family: RedHat
Architectures: X86_64
Partition Table
Você vai definir particionamento do Sistema Operacional.
Selecione: Kickstart Default
Installation Media
Selecione: CentOS Mirror
Você pode ter um mirror local via NFS ou Http, neste caso, por facilidade optamos por instalar utilizando o mirror CentOS público.
Se você optar por criar seu próprio repositório de imagens (recomendado) pode seguir este tutorial:
http://devopslab.com.br/como-criar-e-configurar-um-repositorio-local-centos/
2. Templates de instalação
Home-The-Foreman -> Hosts -> Provisioning Templates
Clique nos templates abaixo e associe ao Sistema Operacional CentOS7.
Template—————————–Tipo
Kickstart default PXELinux———–PXELinux
Kickstart RHEL default—————provision
Kickstart default finish————-Finish
3. Criação do Sistema Operacional – parte 2 final
Vá para Home-The-Foreman -> Hosts -> Operating Systems -> Centos 7.0 -> Templates
Associe os templates ao Sistema Operacional.
Clique em Submit.
4. Configuração do Servidor de Provisionamento – SmartProxys DHCP, DNS e FTP
Antes de fazer a instalação via rede, precisamos preparar o servidor do Foreman ativando os serviços de DHCP, DNS e TFTP.
O TFTP já foi instalado quando executamos o “Foreman-installer”.
Set up Provisioning
Vá para Home-The-Foreman -> Infrastructure -> Provisioning setup -> Set up Provisioning
Em “Pre-requisites” selecione sua rede.
Network Config
Em “Network Config” preencha os dados da sua rede conforme exemplo do print e clique em Submit.
Você terá um resultado como este:
foreman-installer \ --enable-foreman-proxy \ --foreman-proxy-tftp=true \ --foreman-proxy-tftp-servername=10.0.0.170 \ --foreman-proxy-dhcp=true \ --foreman-proxy-dhcp-interface=enp0s3 \ --foreman-proxy-dhcp-gateway=10.0.0.110 \ --foreman-proxy-dhcp-range=" " \ --foreman-proxy-dhcp-nameservers="10.0.0.170" \ --foreman-proxy-dns=true \ --foreman-proxy-dns-interface=enp0s3 \ --foreman-proxy-dns-zone=devopslab.com.br \ --foreman-proxy-dns-reverse=0.0.10.in-addr.arpa \ --foreman-proxy-dns-forwarders=8.8.8.8 \ --foreman-proxy-dns-forwarders=208.67.222.222 \ --foreman-proxy-dns-forwarders=200.221.11.100 \ --foreman-proxy-foreman-base-url=https://theforeman01.devopslab.com.br \ --foreman-proxy-oauth-consumer-key=PYUixcJi5EQwFKqR9nHDTLe7AVjV \ --foreman-proxy-oauth-consumer-secret=AobRoR8RqHi6kPTj7qwQKV9uQxwv
Execute este trecho de código no servidor do Foreman
[root@theforeman01 ~]# foreman-installer \ > --enable-foreman-proxy \ > --foreman-proxy-tftp=true \ > --foreman-proxy-tftp-servername=10.0.0.170 \ > --foreman-proxy-dhcp=true \ > --foreman-proxy-dhcp-interface=enp0s3 \ > --foreman-proxy-dhcp-gateway=10.0.0.110 \ > --foreman-proxy-dhcp-range=" " \ > --foreman-proxy-dhcp-nameservers="10.0.0.170" \ > --foreman-proxy-dns=true \ > --foreman-proxy-dns-interface=enp0s3 \ > --foreman-proxy-dns-zone=devopslab.com.br \ > --foreman-proxy-dns-reverse=0.0.10.in-addr.arpa \ > --foreman-proxy-dns-forwarders=8.8.8.8 \ > --foreman-proxy-dns-forwarders=208.67.222.222 \ > --foreman-proxy-dns-forwarders=200.221.11.100 \ > --foreman-proxy-foreman-base-url=https://theforeman01.devopslab.com.br \ > --foreman-proxy-oauth-consumer-key= PYUixcJi5EQwFKqR9nHDTLe7AVjV \ > --foreman-proxy-oauth-consumer-secret= AobRoR8RqHi6kPTj7qwQKV9uQxwv Installing Done [100%] [............................] Success! * Foreman is running at https://theforeman01.devopslab.com.br Initial credentials are admin / LcuFswt8wjGLAn7wK * Foreman Proxy is running at https://theforeman01.devopslab.com.br:8443 * Puppetmaster is running at port 8140 The full log is at /var/log/foreman-installer/foreman-installer.log [root@theforeman01 ~]#
Installation Media
Na próxima aba “Installation Media” selecione CentOS Mirror.
Agora basta finalizar a configuração.
5. Instalação de um servidor via PXE
Vamos para a parte de instalação propriamente dita, então clique em New Host e siga os passos abaixo.
Nós vamos utilizar o recurso Bare Metal. Bare Metal é um Compute Resource.
Compute Resourses são serviços que podem gerar um host pode exemplo AmazonWS, Docker, OpenStack, Google Compute Engine, Rackspace e etc.
Home-The-Foreman -> Hosts -> New Host
Host
Preencha os campos:
Name: nome-do-servidor
Host Group:
Deploy on: Bare Metal
Environment: production
Puppet CA: theforeman01.devopslab.com.br
Puppet Master: theforeman01.devopslab.com.br
Puppet classes
Selecione as classes do Puppet.
Interfaces
Preencha os dados de rede, você precisa ter o MAC Address do servidor alvo da instalação.
O campo “identifier” é referente a placa de rede (eth0, enp0s3 …).
Operationg System
Preencha os campos:
Architecture
Operating system
Build mode: Enable this host for provisioning
Media
Partition table
Root password
Adittional information
Escolha do tipo de Hardware.
Após configurado Host, Puppet Classes, Interfaces, Operating System, Parameters, e Additional Information clique em Submit.
Agora ligue a VM ou host físico, selecione o boot via rede (PXE) que a instalação vai começar.
Pronto, host provisionado e integrado ao Puppet.