Puppet/Foreman - ホストの追加

Puppet/Foremanサーバー用のPuppetエージェントを設定します。

まず、配布元の署名付きリポジトリから、お使いのOSとPuppet/Foremanサーバーに対応するエージェントをインストールします。TLS証明書とパッケージ署名の検証は有効のままにし、リポジトリで認証が必要な場合はその手続きを完了してください。証明書の登録には、サーバーのバージョンに合ったコマンドを使用します。

署名付きリポジトリの設定 · エージェントのインストール

/opt/puppetlabs/bin/puppet config set server YOURSERVERHERE

/opt/puppetlabs/bin/puppet config set certname `hostname -f`

vim /etc/puppet/puppet.conf

  • master セクションを削除
  • [agent]セクションを追加する
  • add server= YOURSERVERHERE

export PATH=/opt/puppetlabs/bin:$PATH

puppet agent --test

以下の出力例:

root@dcae:/work# puppet agent --test

Info: Creating a new RSA SSL key for sbc-de-02.multitel.ro

Info: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml

Info: Creating a new SSL certificate request for sbc-de-02.multitel.ro

Info: Certificate Request fingerprint (SHA256): FD:F3:D1:17:CB:AF:E3:03:55:C4:B4:5E:DC:4C:ED:55:E2:E4:2D:F5:89:36:1A:76:1A:FE:A5:E8:E5:F2:00:21

Info: Certificate for sbc-de-02.multitel.ro has not been signed yet

Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate (sbc-de-02.multitel.ro).

Exiting now because the waitforcert setting is set to 0.

( SHA256フィンガープリントはセキュリティ上の目的で変更されています)

  1. これによりローカル証明書が作成され、puppet/foreman サーバーに自身の存在が通知されます
  2. 証明書が許可されていないというエラーが表示されます

今すぐforeman/puppetサーバーにSSHで接続してください。

YOURSERVERHEREでpuppet cert listを実行します。

実行: puppet cert sign YOURCLIENTHOSTNAMEHERE

出力例は次のとおりです:

root@repo55:~# puppet cert list
Warning: `puppet cert` is deprecated and will be removed in a future release.
(location: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:370:in `run')
"dcae.multitel.net" (SHA256) FD:F3:D1:17:CB:AF:E3:03:55:C4:B4:5E:DC:4C:ED:55:E2:E4:2D:F5:89:36:1A:76:1A:FE:A5:E8:E5:F2:00:21
root@foreman:~# puppet cert sign dcae.multitel.net
Warning: `puppet cert` is deprecated and will be removed in a future release.
(location: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:370:in `run')
Signing Certificate Request for:
"dcae.multitel.net" (SHA256) FD:F3:D1:17:CB:AF:E3:03:55:C4:B4:5E:DC:4C:ED:55:E2:E4:2D:F5:89:36:1A:76:1A:FE:A5:E8:E5:F2:00:21
Notice: Signed certificate request for dcae.multitel.net
Notice: Removing file Puppet::SSL::CertificateRequest dcae.multitel.net at '/etc/puppetlabs/puppet/ssl/ca/requests/dcae.multitel.net.pem'
root@repo55:~#

(SHA256フィンガープリントとホスト名は、セキュリティ上の目的で変更しています)

puppetクライアントマシンに戻ります。

サーバー上で「puppet agent --test」をもう一度実行します。これで動作するはずです

  1. 有効になっていないというエラーが表示された場合
  2. "puppet agent --enable" を実行します

ドキュメントを検索