📜  Puppet-安装和配置r10K

📅  最后修改于: 2020-10-31 14:02:14             🧑  作者: Mango


在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 Config创建配置文件

cat </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

安装人偶清单和模块

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输出。

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