Puppet Enterprise 2017.2

Puppet agentアプリケーションが動作しているノード(言いかえれば、Puppetに管理されているノード)を「agent」と呼びます。 このクイックスタートガイドでは、*nixオペレーティングシステムを搭載するノードにPuppet agentをインストールします。

前提条件: このガイドでは、PEがモノリシックインストールされており、1台のノード上でPuppet master、Puppet Enterprise Webコンソール、PuppetDBが動作していると想定します。

FAQ

Puppet agentはどのように機能しますか?

Puppetのサービスについて masterは複数の情報ソースを用いてカタログをコンパイルし、そのカタログをagentに返します。

カタログを受け取ると、Puppet agentはカタログに記述されているリソースをそれぞれ確認します。 もし“あるべき状態”ではないリソースを発見した時は、agentがそれらを正しい状態へと変更します (no-opモードの場合は変更が必要である事をレポートします。 )。

カタログの適用後、Puppet agentはレポートをmasterに送ります。 agentから送られたレポートは、すべてPuppetDBに保存され、PEコンソールからアクセスすることができます。

ステップ1a:Puppet masterとOSとアーキテクチャが同じagentをインストールする

agentノードとPuppet masterの使用しているOSとアーキテクチャが同じ場合は、そうでない場合は、ステップ1bに進んでください。

  1. agentノードにログインし、以下を実行します。

    curl -k https://<MASTER HOSTNAME>:8140/packages/current/install.bash | sudo bash
    

    このスクリプトによって、agentが実行されているOSが検出され、Puppet masterを参照したapt、yum、またはzipper repoが設定された後、puppet-agentパッケージがダウンロードされ、インストールされます。

  2. インストールの完了後、「approve the certificate request(証明書要求の承認)」に進み、コンソールで新規agentの証明書要求を承認してください。

ステップ1b: Puppet MasterとOSとアーキテクチャが異なるAgentをインストールする

agentノードとPuppet masterの使用しているOSとアーキテクチャが異なる場合は、そうでない場合は、ステップ1aに進んでください。

以下は、AMD64ハードウェアでDebian 6を実行するagentを追加する場合の例です。 ステップが完了したら、コマンドを修正して、agentのOSとアーキテクチャと一致させます。

  1. コンソールで[分類]の順にクリックし、PE InfrastructureグループでPE Masterグループを選択します。

  2. クラスタブで、[新しいクラスを追加]フィールドの[クラス名]ボックスに「pe_repo」と入力し、クラスの一覧から[pe_repo::platform::debian_6_amd64]クラス、またはagentに適切なクラスを選択します。

    注意: リポジトリのクラスは「pe_repo::platform::<agent_os_version_architecture>」と表示されています。

  3. クラスを追加をクリックし、変更を保存ボタンをクリックします。

    選択したクラスがPE Masterグループのクラスの一覧に表示されますが、この段階ではノードには設定されていません。 ノードに設定するには、Puppetを実行する必要があります。

  4. Puppet masterのコマンドラインから、puppet agent -tを実行します。

    これで、新たに割り当てたクラスがPuppet masterノードの設定に使用されます。

    /opt/puppetlabs/server/data/packages/public」内に新規リポジトリが作成されます。

  5. SSHでagentノードにログインし、以下を実行します。

    curl -k https://<master.example.com>:8140/packages/current/install.bash | sudo bash
    

    最新リリース以外のPEバージョンをインストールする場合は、スクリプト内のcurrent2017.x.xという形式で任意のPEバージョン番号に置き換えます。

    スクリプトのダウンロード方法は、プラットフォームによって異なる場合があります。

  6. インストーラによって、Puppet Enterprise agentがインストールされ、設定されます。

  7. インストールの完了後、「approve the certificate request(証明書要求の承認)」に進み、コンソールで新規agentの証明書要求を承認してください。

FAQ

ステップ2: 証明書要求の承認

インストール中、agentノードはPuppet masterに対して証明書要求を送信します。 ノードをコンソールに追加し、設定の管理を始めるには、証明書要求を承認します。

  1. [無署名の証明書]の順にクリックし、保留中のノード要求のリストを読み込みます。

  2. [すべてを承認]ボタンをクリックして、要求を承認してノードを追加します。

これで、次回Puppetを実行した時に、Puppet agentがmasterから設定を取得できるようになります。

ステップ3:Puppet agentノードのテスト

デフォルトでは、agentはPuppet masterから30分おきに設定をフェッチします。 (runinterval設定を使うと、puppet.confファイルでこの間隔を設定することができます。 ) ただし、Puppetはコマンドラインからいつでも手動で実行することができます。

  1. agentからrootとしてログインし、puppet agent --testを実行します。 これにより、agent上で単一のPuppetが実行され、詳細なログが出力されます。

    -bash: puppet: command not foundエラーが発生した場合は、Puppet Enterpriseがバイナリをインストールしたディレクトリ(/opt/puppetlabs/bin)がデフォルトの$PATHに含まれていません。 これらのバイナリをデフォルトの$PATHに追加するには、PATH=/opt/puppetlabs/bin:$PATH;export PATHを実行します。

  2. Notice: Finished catalog run in [...] secondsで終了する長いログメッセージを確認します。

これで、agentノードを管理できるようになりました。 この段階で、agentがPuppet masterに初めてチェックインし、設定情報を取得しています。 これ以降、agentは30分おきにチェックインし、新規設定情報をフェッチします。

次は、Puppetコードを使用してagentを設定する方法を説明します。まずは、モジュールと呼ばれるビルド済みのPuppetコードから始めます。 最初のモジュールをダウンロードしてインストールする準備ができたら、こちらをクリックしてください。

Back to top