PuppetmasterサーバーAとAのPuppetクライアントであるサーバーBがあります。サーバーBをPuppetmaster自体としてセットアップし、サーバーCをサーバーBのPuppetクライアントにします(注:すべてのサーバーはDebianスクイーズです)。 。)
PM A <------ PM B <------ C
client client
試しましたが、サーバーBでpuppetmasterを起動しようとすると、次のエラーが発生します。
実行の準備ができませんでした:マスターから取得した証明書がエージェントの秘密鍵と一致しません。
この種の連鎖は可能ですか?もしそうなら、どのように?
/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
簡単で、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