web-dev-qa-db-ja.com

操り人形マスターを連鎖させる方法

PuppetmasterサーバーAとAのPuppetクライアントであるサーバーBがあります。サーバーBをPuppetmaster自体としてセットアップし、サーバーCをサーバーBのPuppetクライアントにします(注:すべてのサーバーはDebianスクイーズです)。 。)

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

試しましたが、サーバーBでpuppetmasterを起動しようとすると、次のエラーが発生します。

実行の準備ができませんでした:マスターから取得した証明書がエージェントの秘密鍵と一致しません。

この種の連鎖は可能ですか?もしそうなら、どのように?

2
user35042

/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
Sirch

簡単で、Debian/Ubuntuホストで機能するように見えたセットアップは、個別の構成ファイルとディレクトリをセットアップするだけでした。これはwebrick用で、乗客のために何をする必要があるかわかりません。

マスターのconfdirを作成しますmkdir -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
1
Zoredache