Foreman
Introdução
editarForeman (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
editarComeç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
editarO 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
editar1- 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
editarUbuntu 16.04 (Xenial)
editar1- 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
MacOS
editar1- 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
editarAtivar Diffs
editar1- 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
editarExecute o seguinte comando:
sudo puppet agent --test
Referências
editarhttps://en.wikipedia.org/wiki/Foreman_(software)
https://theforeman.org/manuals/1.14/index.html#4.3.1SmartProxyInstallation
https://github.com/theforeman/foreman
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