开发手册 欢迎您!
软件开发者资料库

Puppet大师

Puppet Master - 从简单和简单的步骤学习Puppet,从基本到高级概念,包括概述,架构,安装,配置,环境配置,主机,代理设置,SSL签名证书设置,安装和配置r10K,验证Puppet设置,编码样式,清单文件,模块,文件服务器,Facter和事实,资源,资源抽象层,模板,类,功能,自定义函数,环境,类型和提供程序,RESTful API,实时项目。

在Puppet中,Puppet master的客户端服务器体系结构被视为整个设置的控制权限. Puppet master充当设置中的服务器并控制所有节点上的所有活动.

对于任何需要充当Puppet master的服务器,它应该运行Puppet服务器软件.该服务器软件是控制节点上所有活动的关键组件.在此设置中,要记住的一个关键点是让超级用户访问将在设置中使用的所有计算机.以下是设置Puppet master的步骤.

先决条件

专用网络DNS : 应配置前向和后向,其中每个服务器应具有唯一的主机名.如果没有配置DNS,则可以使用专用网络与基础设施进行通信.

防火墙开放端口 :  Puppet master应该在特定端口上打开,以便它可以侦听特定端口上的传入请求.我们可以使用在防火墙上打开的任何端口.

创建Puppet主服务器

我们正在创建的Puppet master将在CentOS上7次; 64机器使用Puppet作为主机名.创建Puppet master的最小系统配置是两个CPU核心和1GB内存.配置可能具有更大的大小,具体取决于我们将使用此主服务器管理的节点数.在基础结构中,大于使用2 GB RAM配置.

主机名角色私人FQDN
Brcleprod001Puppet masterbnrcleprod001.brcl.com

接下来,需要生成Puppet主SSL证书,主机名称将复制到所有节点的配置文件中.

安装NTP

由于Puppet master是任何给定设置中代理节点的中心权限,因此Puppet master保持准确是其中一项重要职责系统时间,以避免潜在的配置问题,这可能会在代理证书颁发给节点时出现.

如果时间conf如果出现lict问题,那么如果主节点和节点之间存在时间差异,则证书可能会过期.网络时间协议是避免此类问题的关键机制之一.

列出可用时区

  $ 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实验室集合存储库.

$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm

安装puppetserver包.

  $ sudo yum -y install puppetserver

在Puppet Server上配置内存分配

正如我们所讨论的,默认情况下,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 Section

[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 =