Puppetバージョンがロックされました。エージェントを構成するエージェントを実行する前に、いくつかの構成変更を行う必要があります。/etc/puppet/puppet.confPuppetマスターの初期設定ファイルとまったく同じように見えます。+`セクションとその下のすべての行を削除します。Puppetマスターが「人形」で到達可能であると仮定すると、エージェントはマスターに接続できるはずです。マスターが「puppet」で利用できない場合、PuppetマスターのFQDNを追加する必要があります。関係なく、これを構成することをお勧めします(FQDNを独自のものに置き換えます)。Puppetエージェントを実行する準備ができました。これを行うには、次のコマンドを実行します。startすべてが正しく構成されている場合、出力は表示されません。Puppetエージェントを初めて実行すると、SSL証明書が生成され、署名要求がPuppetマスターに送信されます。Puppetマスターがエージェントの証明書に署名すると、エージェントノードと通信できるようになります。注意:これが初めてのPuppetエージェントである場合、他のエージェントを追加する前に、Puppetマスターで証明書への署名を試みることをお勧めします。すべてが正常に動作することを確認したら、戻って自信を持って残りのエージェントノードを追加できます。マスターに署名要求エージェントノードで初めてPuppetを実行すると、証明書署名要求がPuppetマスターに送信されます。マスターは、エージェントノードと通信して制御できるようになる前に、その特定のエージェントノードの証明書に署名する必要があります。署名方法および署名リクエストの確認方法について説明します。現在の証明書要求を一覧表示するPuppetマスターで、次のコマンドを実行して、すべての未署名の証明書要求を一覧表示します。list最初のエージェントノードをセットアップしたばかりの場合、1つのリクエストが表示されます。ホスト名としてエージェントノードのFQDNを使用して、次のようになります。B1:96:ED:1F:F7:1E:40:53:C1:D4:1B:3C:75:F4:7C:0B:A9:4C:1B:5D:95:2B:79:C0:08:DD:2B:F4:4A:36:EE:E3その前に「+」がないことに注意してください。これは、まだ署名されていないことを示しています。`コマンドを使用します。+`に署名するには、次のコマンドを使用します。sign次の出力が表示されます。これは、証明書要求が署名されたことを示しています。'/var/lib/puppet/ssl/ca/requests/host1.nyc2.example.com.pem'Puppetマスターは、署名された証明書が属するノードと通信および制御できるようになりました。+`オプションを使用します。sign証明書を取り消すPuppetからホストを削除するか、ホストを再構築してからPuppetに追加し直すことができます。この場合、Puppetマスターからホストの証明書を失効させる必要があります。clean指定されたホストの関連証明書はPuppetから削除されます。署名付きおよび署名なしのすべてのリクエストを表示するには、次のコマンドを実行します。--allすべてのリクエストのリストが表示されます。署名付きリクエストの前には「」が付き、署名なしリクエストには「」は付きません。"DNS:puppet.nyc2.example.com")おめでとうございます。これで、Puppetでインフラストラクチャを管理する準備が整いました!Puppetを始めようインフラストラクチャがPuppetで管理されるように設定されたので、開始するためのいくつかの基本的なタスクを実行する方法を示します。事実の収集方法Puppetは、_facter_というツールを使用して、各ノードに関する事実を収集します。OS名、ホスト名、IPアドレス、SSHキーなど)。構成を実行するために他のファクトが必要な場合は、カスタムファクトを追加できます。収集された事実は、多くの状況で役立ちます。Webサーバー構成テンプレートを作成し、特定の仮想ホストに適切なIPアドレスを自動的に入力できます。+」サービスを実行する必要があります。これらは基本的な例ですが、事実をどのように使用できるかについてのアイデアを提供する必要があります。エージェントノードで自動的に収集されているファクトのリストを表示するには、次のコマンドを実行します。facterメインマニフェストの実行方法パペットエージェントは定期的にパペットマスターにチェックインします(通常は30分ごと)。この間、それはマスターに関する事実をマスターに送信し、現在のカタログ(メインマニフェストによって決定されたエージェントに関連するリソースとその望ましい状態のコンパイル済みリスト)をプルします。次に、エージェントノードは適切な変更を加えて、目的の状態を達成しようとします。このサイクルは、Puppetマスターが実行され、エージェントノードと通信している限り続きます。次のコマンドを(問題のエージェントノードで)実行することにより、特定のエージェントノードのチェックを手動で開始することもできます。--testこれを実行すると、テストを実行しているエージェントにメインマニフェストが適用されます。次のような出力が表示される場合があります。'1407966707'このコマンドは、メインマニフェストが単一サーバーにどのように影響するかをすぐに確認するのに役立ちます。+`コマンドを使用すると、メインマニフェストに関連しないマニフェストをオンデマンドで実行できます。マニフェストは、適用元のノードからのみ適用されます。エージェントノードを目的の状態に初期化する)。_master_で、今すぐ編集します。/etc/puppet/manifests/site.pp次に、ファイルリソースを説明する次の行を追加します。fact}ここで保存して終了します。インラインコメントは、定義しているリソースを説明するものでなければなりません。+」に持つようになります。+`コマンドを実行できます。次に、次のコマンドを実行してファイルを印刷します。node」を定義します。/etc/puppet/manifests/site.pp次の行を追加します。defined保存して終了。`のファイルが存在することを保証します。–test`コマンドを実行できます。リソースを定義しない場合、Puppetはリソースに触れないように最善を尽くします。したがって、マニフェストからこれらのリソースを削除した場合、Puppetは作成したファイルを削除しません。これらの例は何の役にも立ちませんが、Puppetが適切に機能していることを証明しています。モジュールを使用するそれでは、モジュールを使用しましょう。モジュールは、タスクをグループ化するのに役立ちます。Puppetコミュニティーには多くのモジュールが用意されており、独自のモジュールを作成することもできます。+`モジュールをインストールします。puppetlabs-apache警告:既存のApacheセットアップでこのモジュールを使用しないでください。Puppetによって管理されていないApache構成はすべて削除されます。/etc/puppet/manifest/site.pp次の行を追加して、_host2_にApacheをインストールします。+」で「example.com」という仮想ホストが設定されます。_host2_で、次のコマンドを実行します。--testApacheがインストールされていることを示す大量の出力が表示されます。完了したら、_host2_のパブリックIPアドレスに移動します。デフォルトのApacheウェルカムページが表示されます。おめでとうございます。基本的なエージェント/マスターPuppetのインストールが完了したので、Puppetを使用してサーバーインフラストラクチャを管理する方法についてさらに学習する準備が整いました。次のチュートリアルをご覧ください:https://www.digitalocean.com/community/tutorials/getting-started-with-puppet-code-manifests-and-modules[Puppetコードの開始:マニフェストとモジュール]。