我正在尝试在两台运行 Centos 7 的相同 Linux 机器上安装和配置 puppet 5.3.2(一台为主服务器,另一台为代理服务器)。我已成功在两台机器上从官方存储库安装了 puppet,并添加了以下内容。
主节点/etc/hosts
127.0.0.1 <master hostname>
<master node ipaddress> puppet, <master node hostname>
<agent node ipaddress> <agent node hostname>
代理节点/etc/hosts
127.0.0.1 <agent hostname>
<master node ipaddress> puppet, <master node hostname>
<agent node ipaddress> <agent node hostname>
主节点/etc/puppetlabs/puppet/puppet.conf
[master]
vardir = /opt/puppetlabs/server/data/puppetserver
logdir = /var/log/puppetlabs/puppetserver
rundir = /var/run/puppetlabs/puppetserver
pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid
codedir = /etc/puppetlabs/code
dns_alt_names = puppet, <master node hostname>
certname = puppet
代理节点/etc/puppetlabs/puppet/puppet.conf
server = puppet, <master node hostname>
puppet 服务器成功启动。但是,我仍然需要为主服务器和代理服务器生成并签署适当的证书。为此,首先,我确保 puppetserver 在 puppet 主节点上已停止,然后在 puppet 主节点上发出:
sudo /opt/puppetlabs/bin/puppet cert list -a
我看到了一个 SHA256 证书。
现在,我不知道该如何继续。任何建议都将不胜感激。
答案1
我能够让它工作。基本上,当 Puppet 服务器首次启动时,会生成证书,可以通过以下方式查看:
sudo /opt/puppetlabs/bin/puppet cert list -a
接下来在代理节点上,如果代理正在运行,请使用以下命令停止 Puppet 代理(可以通过以下方式找到)systemctl status puppet
systemctl stop puppet
在 Puppet 代理上创建需要由 Puppet Master 签名的证书。证书可以通过以下方式生成:
/opt/puppetlabs/bin/puppet agent -t
在主节点上,可以通过以下方式查看代理证书
/opt/puppetlabs/puppet cert list -a
现在应该签署代理证书,为此
/opt/puppetlabs/puppet cert sign <puppet agent hostname>
证书签名后,需要进行验证。然而,在验证之前,Puppet 代理应该已启动并运行。
systemctl start puppet
systemctl enable puppet
/opt/puppetlabs/bin/puppet agent --fingerprint #certificate verification