如何拴住木偶大师

如何拴住木偶大师

我有一个 Puppetmaster 服务器 A 和一个作为 A 的 Puppet 客户端的服务器 B。我想将服务器 B 本身设置为 Puppetmaster,并将服务器 C 设置为服务器 B 的 Puppet 客户端。(注意:所有服务器都是 Debian squeeze。)

PM A <------ PM B <------ C
      client       client

我试过了,但是当我尝试在服务器 BI 上启动 puppetmaster 时出现此错误:

无法准备执行:从主服务器检索到的证书与代理的私钥不匹配。

这种链接可能吗?如果可以,怎么做?

答案1

在 /etc/puppet.conf 中,您需要为服务器 B 作为服务器指定证书,并为服务器 B 作为客户端指定证书。

在 serverB 上启动 puppetmasterd 时

puppetmasterd --no-daemonize --verbose --certname serverB_server

要创建客户端证书:

puppet cert generate <puppet master's certname> --dns_alt_names=<comma-separated list of DNS names>

然后是conf文件

========/etc/puppet.conf===========
[puppetmasterd]
  certname=serverB_server
  ca=true

[puppetd]
  certname=serverB_client
  ca_server=serverA

答案2

在 Debian/Ubuntu 主机上似乎很简单且有效的设置是简单地设置一个单独的配置文件和目录。这是针对 webrick 的,不确定您需要为 Passenger 做什么。

为 master 创建 confdirmkdir -p /etc/puppetmaster/

更新/etc/default/puppetmaster

--- a/default/puppetmaster
+++ b/default/puppetmaster
@@ -4,4 +4,4 @@
 START=yes

 # Startup options.
-DAEMON_OPTS=""
+DAEMON_OPTS="--confdir=/etc/puppetmaster/"

为主控创建一个puppet.conf文件。/etc/puppetmaster/

[main]
logdir=/var/log/puppetmaster
vardir=/var/lib/puppetmaster
ssldir=/var/lib/puppetmaster/ssl
rundir=/var/run/puppetmaster
factpath=$vardir/lib/facter
templatedir=$confdir/templates
# pluginsync = true
certname=submaster.example.org

相关内容