Introdução

editar

Foreman (também conhecido como The Foreman) é uma ferramenta open source criada com o intuito de automatizar o gerenciamento de servidores locais e virtuais. Ele permite a instalação de VMs Físicos e em Clouds como o AmazonWS, OpenStack, VMWare e entre outros, com a integração com softwares de gerenciamento de configuração como o Puppet, Chef, Salt e Ansible, além de possuir suporte a Docker.

Historia

editar

Começou a ser desenvolvido com um nome diferente no meio do ano de 2009 por Ohad Levy e foi commited em setembro de 2009. A aplicação possui 2 autores cujo nomes são Paul Kelly e Ohad Lev, ele foi escrito em javascript e ruby.

Vantagens

editar
  • Automatize sua infra-estrutura mista para tornar as operações agradáveis
  • Descubra, forneça e atualize toda a sua infra-estrutura bare-metal
  • Criar e gerenciar instâncias em nuvens particulares e públicas
  • Agrupe seus hosts e gerencie-os em massa, independentemente da localização
  • Revisar alterações históricas para auditoria ou solução de problemas
  • Estenda conforme necessário por meio de uma arquitetura robusta de plug-ins
  • Construa imagens automaticamente (em cada plataforma) por definição de sistema para otimizar a implantação
  • Autenticação LDAP e autorização RBAC para sua infra-estrutura

Preparando ambiente

editar

O instalador Foreman utiliza o Puppet, então antes de instala-lo é necessário que a sua máquina possua o Puppet para prosseguir com os próximos passos.

Configurar o FQDN

editar

1- Execute o seguinte comando para listar os hostname:

hostname -f

2- A seguir digite o próximo comando para abrir o arquivo onde é listado os servidores:

sudo vi /etc/hosts

3- Adicione um FQDN antes de seu host curto, como o exemplo:

127.0.1.1 foreman.nyc2.example.com nomedousuario

4- Edite o arquivo do hostname adicionando o servidor colocado no passo anterior, como por exemplo:

"foreman.nyc2.example.com"

5- Após salvar e fechar execute o seguinte comando para que as configurações alteradas sejam lidas:

sudo hostname --file /etc/hostname

Instalação

editar

Ubuntu 16.04 (Xenial)

editar

1- Instale os repositórios necessários de acordo com a sua versão do Puppet

  • Para usar Puppet 4.x com Puppet Agent e Puppet Server:
apt-get -y install ca-certificates
wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
dpkg -i puppetlabs-release-pc1-xenial.deb

2- Ative os repositórios:

echo "deb http://deb.theforeman.org/ xenial 1.14" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.14" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -

3- Faça o download do instalador:

apt-get update && apt-get -y install foreman-installer

4- Execute o instalador:

foreman-installer

5- A saída deverá ser parecida com a seguinte:

  * Foreman is running at https://theforeman.example.com
      Initial credentials are admin / 3ekw5xtyXCoXxS29
  * Foreman Proxy is running at https://theforeman.example.com:8443
  * Puppetmaster is running at port 8140
  The full log is at /var/log/foreman-installer/foreman-installer.log

1- Instale os repositórios necessários de acordo com a sua versão do Puppet

  • Para usar Puppet 4.x com Puppet Agent e Puppet Server:
yum -y install https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm

2- Ative os repositórios:

yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install https://yum.theforeman.org/releases/1.14/el7/x86_64/foreman-release.rpm

3- Faça o download do instalador:

yum -y install foreman-installer

4- Execute o instalador:

foreman-installer

5- A saída deverá ser parecida com a seguinte:

  * Foreman is running at https://theforeman.example.com
      Initial credentials are admin / 3ekw5xtyXCoXxS29
  * Foreman Proxy is running at https://theforeman.example.com:8443
  * Puppetmaster is running at port 8140
  The full log is at /var/log/foreman-installer/foreman-installer.log

Configurando ambiente

editar

Ativar Diffs

editar

1- Abra o arquivo puppet.conf:

sudo vi /etc/puppet/puppet.conf

2- Edite a linha que define show_diff e altere para true:

    show_diff     = true

3- Salve as alterações e saia.

Adicionar Foreman Host ao banco de dados Foreman

editar

Execute o seguinte comando:

sudo puppet agent --test

Referências

editar

Foreman

https://en.wikipedia.org/wiki/Foreman_(software)

https://theforeman.org/manuals/1.14/index.html#4.3.1SmartProxyInstallation

https://github.com/theforeman/foreman

https://www.digitalocean.com/community/tutorials/how-to-use-foreman-to-manage-puppet-nodes-on-ubuntu-14-04

https://blog.codecentric.de/en/2014/04/foreman-complete-lifecycle-management-tool/

https://blog.codecentric.de/en/2014/05/foreman-automatic-installation-foreman-puppet/

http://devopslab.com.br/como-instalar-e-configurar-o-the-foreman/

https://theforeman.org/manuals/1.14/index.html#3.InstallingForeman