Puppet - Installation et configuration du r10K

Dans Puppet, nous avons un outil de gestion de code appelé r10k qui aide à gérer les configurations d'environnement liées à différents types d'environnements que nous pouvons configurer dans Puppet tels que le développement, les tests et la production. Cela aide à stocker la configuration liée à l'environnement dans le référentiel de code source. En utilisant les branches du référentiel de contrôle de source, r10k crée des environnements sur la machine maître Puppet installe et met à jour l'environnement à l'aide des modules présents dans le référentiel.

Le fichier Gem peut être utilisé pour installer r10k sur n'importe quelle machine, mais pour la modularité et afin d'obtenir la dernière version, nous utiliserons le gestionnaire de packages rpm et rpm. Voici un exemple pour le même.

$ urlgrabber -o /etc/yum.repos.d/timhughes-r10k-epel-6.repo
https://copr.fedoraproject.org/coprs/timhughes/yum -y install rubygem-r10k

Configurer l'environnement dans /etc/puppet/puppet.conf

[main] 
environmentpath = $confdir/environments

Créer un fichier de configuration pour 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

Installation du manifeste et du module Puppet

r10k deploy environment -pv

Comme nous devons continuer à mettre à jour l'environnement toutes les 15 minutes, nous allons créer un travail cron pour le même.

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

Tester l'installation

Afin de tester si tout fonctionne comme accepté, il faut compiler le manifeste Puppet pour le module Puppet. Exécutez la commande suivante et obtenez une sortie YAML comme résultat.

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