Puppet - instalando e configurando r10K
No Puppet, temos uma ferramenta de gerenciamento de código conhecida como r10k que ajuda no gerenciamento de configurações de ambiente relacionadas a diferentes tipos de ambientes que podemos configurar no Puppet, como desenvolvimento, teste e produção. Isso ajuda a armazenar configurações relacionadas ao ambiente no repositório de código-fonte. Usando as ramificações do repo de controle de origem, o r10k cria ambientes na máquina mestre do Puppet, instala e atualiza o ambiente usando os módulos presentes no repo.
O arquivo Gem pode ser usado para instalar o r10k em qualquer máquina, mas para modularidade e para obter a versão mais recente, usaremos o gerenciador de pacotes rpm e rpm. A seguir está um exemplo para o mesmo.
$ urlgrabber -o /etc/yum.repos.d/timhughes-r10k-epel-6.repo
https://copr.fedoraproject.org/coprs/timhughes/yum -y install rubygem-r10k
Configure o ambiente em /etc/puppet/puppet.conf
[main]
environmentpath = $confdir/environments
Crie um arquivo de configuração para r10k Config
cat <<EOF >/etc/r10k.yaml
# The location to use for storing cached Git repos
:cachedir: '/var/cache/r10k'
# A list of git repositories to create
:sources:
# This will clone the git repository and instantiate an environment per
# branch in /etc/puppet/environments
:opstree:
#remote: 'https://github.com/fullstack-puppet/fullstackpuppet-environment.git'
remote: '/var/lib/git/fullstackpuppet-environment.git'
basedir: '/etc/puppet/environments'
EOF
Instalando Manifesto e Módulo Puppet
r10k deploy environment -pv
Como precisamos continuar atualizando o ambiente a cada 15 minutos, criaremos um cron job para o mesmo.
cat << EOF > /etc/cron.d/r10k.conf
SHELL = /bin/bash
PATH = /sbin:/bin:/usr/sbin:/usr/bin
H/15 * * * * root r10k deploy environment -p
EOF
Instalação de teste
Para testar se tudo funciona como aceito, é necessário compilar o manifesto do Puppet para o módulo do Puppet. Execute o seguinte comando e obtenha uma saída YAML como resultado.
curl --cert /etc/puppet/ssl/certs/puppet.corp.guest.pem \
--key /etc/puppet/ssl/private_keys/puppet.corp.guest.pem \
--cacert /etc/puppet/ssl/ca/ca_crt.pem \
-H 'Accept: yaml' \
https://puppet.corp.guest:8140/production/catalog/puppet.corp.guest