Go to main content
Oracle® Solaris 11.3 での Puppet を使用した構成管理の実行

印刷ビューの終了

更新: 2016 年 7 月
 
 

Puppet マスターおよびエージェントを構成する方法

1 つの Puppet マスターは、Puppet エージェントを実行している多数のノードを制御できます。特定のインフラストラクチャーによっては、複数の Puppet マスターで数千のノードを制御するよう指定することもできます。次の手順では、1 つのマスターと 1 つのエージェントを構成する方法について説明します。

始める前に

    次の手順を実行する前に、次を実行します。

  • マスターと、Puppet エージェントを実行するすべてのノードの両方に Puppet IPS パッケージをインストールします。Puppet のインストールを参照してください。

  • マスター上で、Puppet マスターの SMF サービスインスタンスを構成して有効にします。

    # svccfg -s puppet:master setprop config/server=master.company.com
    # svcadm enable puppet:master
    # svcs puppet:master

    この出力は、マスターの SMF サービスインスタンスがオンラインであることを示します。これで、Puppet エージェントを実行するノードを構成する準備ができました。

  1. ノード上で、次の手順を実行します。
    1. エージェントの SMF config/server プロパティーの値を、マスターを指すように設定します。
      # svccfg -s puppet:agent setprop config/server=master.company.com
      # svccfg -s puppet:agent refresh

      変更を有効にするには、SMF サービスをリフレッシュする必要があります。


      注 -  エージェントが証明書要求を発行し、それがマスター上で正常に署名されるまで、エージェントサービスインスタンスを有効にしないでください。
    2. エージェントからマスターへの接続をテストします。
      # puppet agent --test

      エージェント上で –-test オプションを指定して puppet agent コマンドを実行すると、新しい SSL 鍵が作成され、エージェントとマスターの間の認証に対する要求が設定されます。

  2. マスター上で、次の手順を実行します。
    1. マスターに接続しようとしているエージェントからの未処理の証明書要求をすべて表示します。
      # puppet cert list

      このコマンドの出力は、エージェントによって発行された要求を示します。

    2. 要求を発行しているエージェントの証明書に署名します。
      # puppet cert sign agent

      注 -  Puppet では証明書への手動での署名が推奨されますが、証明書への手動での署名が絶対に必要とはいえない環境を使用している場合は、代わりに特定の CSR に自動的に署名するように CA Puppet マスターを構成できます。https://docs.puppet.com にある Puppet のドキュメントを参照してください。
  3. エージェントからマスターへの接続を再テストします。
    # puppet agent --test

    この手順により、マスターとエージェントの間の認証が実行されたことが確認されます。

  4. Puppet エージェントの SMF サービスインスタンスを有効にします。
    # svcadm enable puppet:agent
    # svcs puppet:agent

    この出力は、エージェントの SMF サービスインスタンスがオンラインであることを示します。

使用例 1  Puppet マスターおよびエージェントの構成

次の例は、Puppet マスターおよびエージェントを構成する方法を示しています。

# svcs -a | grep puppet
disabled       16:04:54 svc:/application/puppet:agent
disabled       16:04:55 svc:/application/puppet:master
# svccfg -s puppet:master setprop config/server=master.company.com
root@master:~# svcadm enable puppet:master
root@master:~# svcs puppet:master
STATE         STIME    FMRI
online        17:38:42 svc:/application/puppet:master
# svccfg -s puppet:agent setprop config/server=master.company.com
# svccfg -s puppet:agent refresh
# puppet agent --test
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for agent.company.com
Info: Certificate Request fingerprint (SHA256): E0:1D:0F:18:72:B7:CE:A7:83:E4:48
:D5:F8:93:36:15:55:0A:B9:C8:E5:B1:CE:D9:3E:0A:68:01:BE:F7:76:47
Exiting; no certificate found and waitforcert is disabled
# puppet cert list
"agent.company.com" (SHA256) E0:1D:0F:18:72:B7:CE:A7:83:E4:48 :D5:F8:93:36:15:55:
0A:B9:C8 :E5:B1:CE:D9:3E:0A:68:01:BE:F7:76:47
# puppet cert sign agent.company.com
Notice: Signed certificate request for agent.company.com
Notice: Removing file Puppet:SSL:CertificateRequest agent at '/etc/puppet/ssl/ca/requests/solaris.pem'
# puppet agent --test
Info: Caching certificate for agent.company.com
Info: Caching certificate_revocation_list for ca
Info: Caching certificate for agent.company.com
Info: Retrieving plugin
Info: Caching catalog for agent.company.com
Info: Applying configuration version '1400782295'
Notice: Finished catalog run in 0.18 seconds
# svcadm enable puppet:agent
# svcs puppet:agent
STATE         STIME    FMRI
online        18:20:32 svc:/application/puppet:agent

次のステップ

Puppet をインストールし、必要なすべての構成および検証タスクを実行したら、Puppet を使用してシステム構成を管理する準備ができました。

Puppet を使用したリソースの宣言の詳細は、Oracle Solaris での Puppet リソースおよびリソースタイプの操作を参照してください。

Puppet マニフェストを記述する手順については、Oracle Solaris での Puppet マニフェスト、クラス、およびモジュールの記述を参照してください。

さまざまな Oracle Solaris システム構成の例については、Oracle Solaris での Puppet を使用したシステム構成の管理を参照してください。