Puppet Deviceを使用してCiscoルーターを管理するために、puppet 4.3とcentos7をインストールしました。サーバーのホスト名は「puppetmaster」です(hostnamectl puppetmaster
)CentOSサーバーはパペットマスターとエージェントを実行しています。
Sudo puppet device --debugを実行するときにすべてをセットアップしてdevice.confを構成した後、次のエラーが表示されます。
Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local issuer certificate for /CN=puppetmaster]
Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local issuer certificate for /CN=puppetmaster]
走れる puppet agent --test
サーバー上で正常に実行されました:
Sudo puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for puppetmaster
Info: Applying configuration version '1449189804'
これが私の/etc/puppetlabs/puppet/device.confです
[r1]
type Cisco
url telnet://puppet:123456@r1/
これが私の/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 = puppetmaster
[agent]
certname = puppetmaster
server = puppetmaster
これは、名前の不一致など、何らかの証明書の問題である必要がありますが、何が原因であるかはわかりません。エージェントはマスターと同じサーバー上で実行されており、すべての構成を正しく設定しました(少なくとも私はそう思います)。
以下は、puppetが返す証明書です。
Sudo puppet cert --print --all | grep CN
Issuer: CN=Puppet CA: puppetmaster
Subject: CN=puppetmaster
生のca.pemおよびpuppetmaster.pem証明書は次のとおりです。
openssl x509 -in /etc/puppetlabs/puppet/ssl/certs/ca.pem -noout -text | grep CN
Issuer: CN=Puppet CA: puppetmaster
Subject: CN=Puppet CA: puppetmaster
DirName:/CN=Puppet CA: puppetmaster
openssl x509 -in /etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem -noout -text | grep CN
Issuer: CN=Puppet CA: puppetmaster
Subject: CN=puppetmaster
Opensslを実行して証明書を確認すると、同じエラーが表示されます。
Sudo openssl verify -CApath /etc/puppetlabs/puppet/ssl/certs/ca.pem /etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem
/etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem: CN = puppetmaster
error 20 at 0 depth lookup:unable to get local issuer certificate
私は構成設定で確認し、 証明書をクリーンアップするプロセス (複数回)を行いましたが、サイコロはありませんでした。
OKはそれを理解しました。
私が言ったように、私は人形の証明書をクリアして再生成しましたが、私がしなかったことは明らかでした:
/opt/puppetlabs/puppet/cache/devices/
Puppetはデバイスの古い証明書をキャッシュしたため、新しい証明書を生成するのではなく、その証明書を使用しようとしました。
そのフォルダーの内容を削除した後、私はpuppet device