Foreman: instalação

O Foreman se apresenta como uma ferramenta completa para o gerenciamento do ciclo de vida de servidores físicos e virtuais e, pra essa missão, se integra com diversas plataformas e ferramentas (VMware, AWS, OpenStack, Puppet, Ansible, Salt, Chef, DNS, DHCP, TFTP etc).

Ele provisiona servidores físicos e virtuais, os classifica utilizando sua ferramenta de gerenciamento de configuração e exibe em sua dashboard informações sobre os hosts, mudanças etc.

Nesse post vamos ver sua instalação e configuração básica.


foreman_medium

Instalação do S.O.

Máquina virtual

Vou utilizar o VirtualBox, mas você pode utilizar qualquer coisa que te deixe criar VMs com interfaces de rede modo bridge, NAT (desde que te deixe acessar a VM por ssh e http) e internal-only.

Configuração da VM:

  • 4Gb de ram.
  • 10Gb de disco (mas eu vou usar 20).
  • Duas placas de rede: uma externa que acesse sua Internet (modo bridge ou NAT) e uma interna que falará apenas com outra VM depois.

Instalação do CentOS

Instale o CentOS 7 minimal. Pode ser outra distro ? Claro, mas vou mostrar com CentOS.

Configure a segunda interface de rede como 10.0.0.1/24 (use outro se conflitar com sua rede externa). Usaremos essa rede depois.

Configure o hostname como foreman.localdomain.

Depois da instalação

Para nosso cenário de teste, faça o seguinte:

  • Atualize o sistema.
  • Desabilite o selinux no /etc/sysconfig/selinux.
  • Desabilite o firewalld (systemctl disable firewalld).
  • Crie uma entrada no /etc/hosts apontando foreman.localdomain e foreman para o ip da interface interna (10.0.0.1 como sugerido). Sem isso o Foreman não se instalará.
  • Reinicie.

Com o CentOS instalado e estes passos feitos, siga adiante.

OBS: faça um snapshot de sua VM com um nome sugestivo como “CentOS instalado”. Vá criando snapshots a cada etapa para evitar que uma cagada qualquer te faça voltar à estaca zero.


Instalação do Foreman

Consulte sempre o manual do Foreman no site oficial: https://theforeman.org em “GET STARTED”.

Instalação

Os passos são bem simples e consistem em adicionar os repositórios da Puppet, do Foreman, EPEL, instalar o foreman-installer e executá-lo.

rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
yum -y install epel-release https://yum.theforeman.org/releases/1.14/el7/x86_64/foreman-release.rpm
yum -y install foreman-installer
foreman-installer

O foreman-installer suporta diversas opções para já configurar plugins de integração com AWS, VMware, Ansible etc, mas por agora vamos usar o Foreman basicão. O foreman-installer pode ser executado novamente depois para adicionar os plugins.

A saída deve ser similar à isso:

screenshot-2016-12-03-21-17-06

Acesse o IP externo da VM em seu navegador e entre com admin e essa senha. Mude a senha (aposto que você consegue descobrir como fazer isso).

Execute o agente do Puppet no Foreman (será necessário relogar ou recarregar o profile já que a instalação do Puppet acrescenta diretório ao $PATH):

puppet agent -t

Configuração inicial

No dashboard inicial do Foreman, você deve ver:

screenshot-2016-12-03-21-28-24

Agora vá em Hosts-> All hosts:

screenshot-2016-12-03-21-30-26

Este é seu primeiro host, o próprio Foreman.

Agora vá em Administer->Settings e ajuste as configurações ao seu gosto.

A única mudança obrigatória é na aba Puppet, configurar o Puppet server como foreman.localdomain.

Plugin column-view

Existe um plugin para adicionar campos na listagem de hosts. Eu gosto de adicionar as informações de IP e uptime.

Instale o plugin:

yum install tfm-rubygem-foreman_column_view

E no arquivo /etc/foreman/plugins/foreman_column_view.yaml:

:column_view:
  :ipaddress:
    :title: IP_Address
    :after: last_report
    :content: facts_hash['ipaddress']
  :uptime:
    :title: Uptime
    :after: ipaddress
    :content: facts_hash['uptime']

Faça reload no httpd:

service httpd reload

E vejas as informações na listagem de hosts:

screenshot-2016-12-03-22-01-45


Conclusão

Este é apenas o 1o artigo sobre Foreman. A intenção era mesmo apenas ter o Foreman rodando, pronto para implementar o que escreverei nos próximos artigos.

Leia os outros artigos sobre o Foreman:

Foreman como provisionador  e Foreman: ENC para o Puppet

 

Um comentário em “Foreman: instalação

Os comentários estão encerrados.