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.
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:
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:
Agora vá em Hosts-> All hosts:
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:
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.