- 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 - 主控端
在 Puppet 中,Puppet 主控端的客户端-服务器架构被视为整个设置的控制权威。Puppet 主控端在设置中充当服务器,并控制所有节点上的所有活动。
对于任何需要充当 Puppet 主控端的服务器,都应该运行 Puppet 服务器软件。此服务器软件是控制节点上所有活动的关键组件。在此设置中,需要注意的关键点是拥有对将要用于设置的所有机器的超级用户访问权限。以下是设置 Puppet 主控端的步骤。
先决条件
私有网络 DNS - 应配置正向和反向解析,其中每个服务器都应具有唯一的主机名。如果没有配置 DNS,则可以使用私有网络与基础设施进行通信。
防火墙开放端口 - 应在特定端口上打开 Puppet 主控端,以便它可以侦听特定端口上的传入请求。我们可以使用防火墙上开放的任何端口。
创建 Puppet 主控端服务器
我们将创建的 Puppet 主控端将位于使用 Puppet 作为主机名的 CentOS 7 x64 机器上。创建 Puppet 主控端的最小系统配置是两个 CPU 内核和 1GB 内存。根据我们将使用此主控端管理的节点数量,配置也可能更大。在基础设施中,配置使用 2GB RAM。
主机名 | 角色 | 私有 FQDN |
---|---|---|
Brcleprod001 | Puppet 主控端 | bnrcleprod001.brcl.com |
接下来,需要生成 Puppet 主控端 SSL 证书,并将主机的名称复制到所有节点的配置文件中。
安装 NTP
由于 Puppet 主控端是任何给定设置中代理节点的中心权威,因此 Puppet 主控端的一项关键职责是维护准确的系统时间,以避免可能因向节点颁发代理证书时出现时间差异而产生的潜在配置问题。
如果出现时间冲突问题,则如果主控端和节点之间存在时间差异,证书可能会显示为已过期。网络时间协议是避免此类问题的关键机制之一。
列出可用的时区
$ timedatectl list-timezones
上述命令将提供所有可用时区的完整列表。它将提供具有时区可用性的区域。
可以使用以下命令在机器上设置所需的时区。
$ sudo timedatectl set-timezone India/Delhi
使用 CentOS 机器上的 yum 实用程序在 Puppet 服务器机器上安装 NTP。
$ sudo yum -y install ntp
将 NTP 与我们在上述命令中设置的系统时间同步。
$ sudo ntpdate pool.ntp.org
在常见实践中,我们将更新 NTP 配置以使用更靠近机器数据中心的公共池。为此,我们需要编辑/etc下的 ntp.conf 文件。
$ sudo vi /etc/ntp.conf
添加来自 NTP 池时区可用的时间服务器。以下是 ntp.conf 文件的外观。
brcleprod001.brcl.pool.ntp.org brcleprod002.brcl.pool.ntp.org brcleprod003.brcl.pool.ntp.org brcleprod004.brcl.pool.ntp.org
保存配置。启动服务器并启用守护进程。
$ sudo systemctl restart ntpd $ sudo systemctl enable ntpd
设置 Puppet 服务器软件
Puppet 服务器软件是在 Puppet 主控端机器上运行的软件。它是将配置推送到运行 Puppet 代理软件的其他机器的机器。
使用以下命令启用官方 Puppet Labs 集合存储库。
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm
安装 puppetserver 包。
$ sudo yum -y install puppetserver
配置 Puppet 服务器上的内存分配
正如我们所讨论的,默认情况下,Puppet 服务器在 2GB RAM 机器上配置。可以根据机器上可用的空闲内存以及服务器将管理多少个节点来定制设置。
在 vi 模式下编辑 puppet 服务器配置
$ sudo vi /etc/sysconfig/puppetserver Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation. We will allocate 3GB of space JAVA_ARGS="-Xms3g -Xmx3g"
完成后,保存并退出编辑模式。
完成上述所有设置后,我们就可以使用以下命令在主控端机器上启动 Puppet 服务器了。
$ sudo systemctl start puppetserver
接下来,我们将进行设置,以便每当主服务器启动时都启动 puppet 服务器。
$ sudo systemctl enable puppetserver
Puppet.conf 主控端部分
[master] autosign = $confdir/autosign.conf { mode = 664 } reports = foreman external_nodes = /etc/puppet/node.rb node_terminus = exec ca = true ssldir = /var/lib/puppet/ssl certname = sat6.example.com strict_variables = false manifest = /etc/puppet/environments/$environment/manifests/site.pp modulepath = /etc/puppet/environments/$environment/modules config_version =