- Puppet 教程
- Puppet - 主页
- 基础 Puppet
- Puppet - 概述
- Puppet - 架构
- Puppet - 安装
- Puppet - 配置
- Puppet - 环境配置
- Puppet - 主服务器
- Puppet - Agent 设置
- Puppet - SSL 证书签名设置
- 安装和配置 r10K
- Puppet - 验证设置
- Puppet - 编码风格
- Puppet - 清单文件
- Puppet - 模块
- Puppet - 文件服务器
- Puppet - Facter 和事实
- 高级 Puppet
- Puppet - 资源
- Puppet - 资源抽象层
- Puppet - 模板
- Puppet - 类
- Puppet - 函数
- Puppet - 自定函数
- Puppet - 环境
- Puppet - 类型和提供程序
- Puppet - RESTful API
- Puppet - 实际项目
- Puppet 实用资源
- Puppet - 快速指南
- Puppet - 实用资源
- Puppet - 讨论
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 清单和模块
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
广告