Puppetは、管理タスクとサーバー管理をリモートで実行するために使用されるオープンソースの自動化管理エンジンです。このツールは、Linux、Unix、およびWindowsで使用できます。この構成管理ツールは、サーバーインフラストラクチャの管理と構成を自動化するのに役立ちます。このチュートリアルを実行した後、UbuntuシステムでPuppetマスターノードとクライアントノードを完全にセットアップする必要があります。
このチュートリアルは、Ubuntu20.04LinuxシステムにPuppetマスターノードとエージェントノードをインストールして構成するのに役立ちます。
前提条件
持っている必要があります:
- 2つ以上のUbuntu20.04システムを実行しています。1つはマスタークライアントと他のクライアント用です。
- sudo特権アカウントを持つすべてのシステムへのシェルアクセス。
- すべてのシステムは、プライベートネットワークまたはパブリックネットワークを介して相互に接続する必要があります。
ステップ1-ホストの構成
Puppetマスターノードとクライアントノードは、ホスト名を使用して相互に通信します。したがって、各ノードに一意のホスト名を割り当てることから始めるのがよいでしょう。
1.マスターノードと各クライアントノードに1つずつログインし、/etc/hosts
を編集します。 ファイル:
sudo nano /etc/hosts
2.各hostsファイルの最後に次のエントリを追加します。
10.132.14.239 puppetmaster puppet 10.132.14.240 puppetclient1 10.132.14.241 puppetclient2
ここ:
- 10.132.14.239 マスターノードのIPアドレスです。
- 10.132.14.240 クライアントノードのIPアドレスです。
- 10.132.14.242 別のクライアントノードのIPアドレスです。
- クライアントノードを追加します。必要な場合
ファイルを保存して閉じます。 nanoエディターでファイルを保存するには、 Ctrl + Xを押します。 次に、Yと入力し、Enterキーを押して変更を保存し、ファイルを閉じます。
ステップ2– Puppetサーバー(マスターノード)をインストールする
次に、シェルアクセスを使用してマスターノードにログインします
3.最新のPuppetdebianパッケージをインストールして、マスターノードでPPAを構成します。
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
4. PPAを追加したら、次のコマンドを使用してAptキャッシュを更新し、Puppetサーバーをインストールします。
sudo apt update
sudo apt install puppetserver -y
5.すべてのPuppetパッケージが正常にインストールされた後。次を使用して、パペットサーバーファイルを編集します。
sudo nano /etc/default/puppetserver
2GBのメモリを使用するように構成されたデフォルトのpuppetサーバーファイル。サーバーに十分なメモリがない場合。メモリサイズを1GBまたはその他の値に減らします:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
変更を保存して、puppetserverファイルを閉じます。 nanoエディターでファイルを保存するには、 Ctrl + Xを押します。 次に、Yと入力して変更を保存します。
6.次に、Puppetサービスを開始し、システムの起動時に自動開始するように設定します。
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
7.サービスが開始されたら、次のコマンドでサービスのステータスを確認します。
sudo systemctl status puppetserver
サービスステータスが実行中として表示されます。
次に、すべてのクライアントノードの構成から始めます。
ステップ3– Puppet Agent(クライアントノード)をインストールする
まず、すべてのクライアントノードで手順1で定義されたhostsファイルエントリがすでに更新されていることを確認してください。
8.次に、最新のPuppet debianパッケージをダウンロードしてインストールし、クライアントノードでPPAを構成します。
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
9. PPAを構成したら、すべてのクライアントサーバーにPuppetエージェントパッケージをインストールします。
sudo apt update
sudo apt install puppet-agent -y
10.パッケージのインストールが完了したら。 Puppet構成ファイルを編集します:
sudo nano /etc/puppetlabs/puppet/puppet.conf
Puppet構成ファイルの最後に次のエントリを追加して、Puppetマスターノードの詳細を定義します。
[main] certname = puppetclient1 server = puppetmaster
ファイルを保存して閉じます。
11.次に、すべてのクライアントノードでPuppetエージェントサービスを開始し、システムの起動時に自動開始するように設定します。
sudo systemctl start puppet
sudo systemctl enable puppet
12.完了したら、Puppetエージェントサービスが正しく実行されていることを確認します。
sudo systemctl status puppet
すべてのエージェントシステムで実行ステータスが表示されるはずです
ステップ4–パペットエージェント証明書に署名する
13.構成が完了しました。ここで、Puppetマスターノードにログインし、次のコマンドを実行して、使用可能なすべての証明書を一覧表示します。
sudo /opt/puppetlabs/bin/puppetserver ca list --all
14.次に、以下を使用してすべてのクライアント証明書に署名します:
sudo /opt/puppetlabs/bin/puppetserver ca sign --all
15.最後に、次のコマンドを使用して、Puppetマスターノードとクライアントノード間の通信をテストします。
sudo /opt/puppetlabs/bin/puppet agent --test
結論
それでおしまい。これで、Ubuntu20.04システムにPuppetが正常にインストールされました。このチュートリアルでは、Puppetをマスターノードとクライアントノードにインストールする方法について説明します。
のPuppetサーバーノード構成とクライアントノード構成の詳細については、公式ドキュメントにアクセスすることもできます。