📅  最后修改于: 2020-10-31 14:01:19             🧑  作者: Mango
在Puppet中,Puppet主服务器的客户端服务器体系结构被视为整个设置的控制权限。 Puppet master在设置中充当服务器,并控制所有节点上的所有活动。
对于需要充当Puppet主服务器的任何服务器,都应运行Puppet服务器软件。该服务器软件是控制节点上所有活动的关键组件。在此设置中,要记住的一个关键点是拥有超级用户访问设置中将要使用的所有计算机的权限。以下是设置Puppet Master的步骤。
专用网络DNS-应该配置正向和反向,其中每个服务器应具有唯一的主机名。如果未配置DNS,则可以使用专用网络与基础结构进行通信。
防火墙开放端口-Puppet主服务器应在特定端口上开放,以便它可以侦听特定端口上的传入请求。我们可以使用防火墙上打开的任何端口。
我们要创建的Puppet Master将在CentOS 7×64计算机上使用Puppet作为主机名。创建Puppet主设备的最低系统配置是两个CPU内核和1GB内存。配置的大小也可能更大,这取决于我们要使用该主服务器管理的节点数。在基础架构中,它比使用2 GB RAM配置的更大。
Host Name | Role | Private FQDN |
---|---|---|
Brcleprod001 | Puppet master | bnrcleprod001.brcl.com |
接下来,需要生成Puppet主SSL证书,然后将主计算机的名称复制到所有节点的配置文件中。
由于在任何给定的设置中,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 Labs集合存储库。
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm
安装puppetserver软件包。
$ sudo yum -y install puppetserver
正如我们所讨论的,默认情况下,Puppet服务器在2GB RAM计算机上进行配置。可以根据计算机上的可用内存以及服务器将管理的节点数来定制设置。
在vi模式下编辑人偶服务器配置
$ 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
接下来,我们将进行设置,以便在主服务器启动时启动the服务器。
$ sudo systemctl enable puppetserver
[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 =