Учебники

Puppet — Установка и настройка r10K

В Puppet у нас есть инструмент управления кодом, известный как r10k, который помогает в управлении конфигурациями среды, связанной с различными типами сред, которые мы можем настроить в Puppet, такими как разработка, тестирование и производство. Это помогает хранить конфигурацию, связанную со средой, в хранилище исходного кода. Используя ветви репозитория управления исходным кодом, r10k создает среды на главной машине Puppet для установки и обновления среды, используя модули, присутствующие в репо.

Gem-файл может быть использован для установки r10k на любой машине, но для модульности и для получения последней версии мы будем использовать менеджер пакетов rpm и rpm. Ниже приведен пример для того же.

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

Настройте среду в /etc/puppet/puppet.conf

[main] 
environmentpath = $confdir/environments 

Создайте файл конфигурации для конфигурации r10k

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

Установка Puppet Manifest и модуля

r10k deploy environment -pv 

Поскольку нам нужно продолжать обновлять среду каждые 15 минут, мы создадим для нее задание cron.

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

Тестирование Установка

Чтобы проверить, все ли работает как принято, нужно скомпилировать манифест Puppet для модуля Puppet. Выполните следующую команду и получите результат YAML в качестве результата.