GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にPuppetマスターとエージェントをインストールします

Puppetは、Linux、Unix、およびWindowsオペレーティングシステム用の無料のオープンソース自動管理エンジンです。サーバーの展開、構成、および管理に使用され、ユーザーの追加、パッケージのインストールなどの管理タスクを実行します。何千もの物理マシンと仮想マシンでタスクを自動化することにより、システム管理者が時間と精神的なスペースを解放するのに役立ちます。クライアントサーバーモデルを使用します。 PuppetマスターがPuppetエージェントの構成情報を制御し、PuppetエージェントがPuppetマスターと通信して構成プロファイルをプルダウンする場合。

このチュートリアルでは、Ubuntu20.04サーバーにPuppetサーバーとエージェントをインストールする方法を説明します。

前提条件
  • Ubuntu20.04を実行している2台のサーバー。
  • ルートパスワードは両方のサーバーで構成されています。
はじめに

まず、PuppetマスターシステムとPuppetクライアントシステムのすべてのパッケージを更新する必要があります。次のコマンドを実行して更新できます:

apt-get update -y

すべてのパッケージが最新になったら、次のステップに進むことができます。

ホスト名解決の設定

次に、両方のノードでホスト名を設定する必要があります。したがって、各ノードはホスト名によって相互に通信できます。両方のノードで/etc/ hostsファイルを編集することでそれを行うことができます:

nano /etc/hosts

両方のノードに次の行を追加します。

puppet-master-ip puppetmaster puppet
puppet-client-ip puppetclient

終了したら、ファイルを保存して閉じます。その後、次のステップに進むことができます。

Puppetサーバーをインストールする

まず、マスターノードにPuppetサーバーをインストールする必要があります。デフォルトでは、PuppetパッケージはUbuntu20.04のデフォルトリポジトリでは利用できません。そのため、サーバーにPuppetリポジトリをインストールする必要があります。

まず、次のコマンドを使用して最新バージョンのPuppetをダウンロードします。

wget https://apt.puppetlabs.com/puppet6-release-focal.deb

パッケージがダウンロードされたら、次のコマンドを実行してインストールします。

dpkg -i puppet6-release-focal.deb

インストールが完了したら、リポジトリを更新し、次のコマンドを実行してPuppetサーバーをインストールします。

apt-get update -y
apt-get install puppetserver -y

Puppetサーバーをインストールした後、PuppetJavaプロセスのメモリ割り当てサイズを変更する必要があります。 / etc / default /puppetserverファイルを編集することでそれを行うことができます:

nano /etc/default/puppetserver

以下に示すように、メモリサイズを1gに変更します。

JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

終了したら、ファイルを保存して閉じます。次に、Puppetサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。

systemctl start puppetserver
systemctl enable puppetserver

次に、次のコマンドを使用してPuppetサービスのステータスを確認できます。

systemctl status puppetserver

次のコマンドが表示されます:

? puppetserver.service - puppetserver Service
     Loaded: loaded (/lib/systemd/system/puppetserver.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:33:55 UTC; 3s ago
    Process: 3673 ExecStart=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver start (code=exited, status=0/SUCCESS)
   Main PID: 3715 (java)
      Tasks: 42 (limit: 4915)
     Memory: 962.3M
     CGroup: /system.slice/puppetserver.service
             ??3715 /usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -XX:OnOutOfMemoryError="kill>

Sep 05 09:33:08 puppetmaster systemd[1]: Starting puppetserver Service...
Sep 05 09:33:55 puppetmaster systemd[1]: Started puppetserver Service.

終了したら、次のステップに進むことができます。

Puppetエージェントのインストールと構成

この時点で、Puppetサーバーがインストールされて構成されます。次に、クライアントノードにPuppetエージェントをインストールする必要があります。

まず、次のコマンドを使用してPuppetリポジトリをダウンロードしてインストールします。

wget https://apt.puppetlabs.com/puppet6-release-focal.deb
dpkg -i puppet6-release-focal.deb

次に、リポジトリを更新し、次のコマンドを実行してPuppetエージェントをインストールします。

apt-get update -y
apt-get install puppet-agent -y

Puppetエージェントをインストールした後、Puppet構成ファイルを編集し、Puppetマスター情報を定義する必要があります。

nano /etc/puppetlabs/puppet/puppet.conf

次の行を追加します:

[main]
certname = puppetclient
server = puppetmaster

終了したら、ファイルを保存して閉じます。次に、Puppetエージェントサービスを開始し、次のコマンドを使用して起動時に開始できるようにします。

systemctl start puppet
systemctl enable puppet

次に、次のコマンドを使用してPuppetのステータスを確認します。

systemctl status puppet

次の出力が得られるはずです:

? puppet.service - Puppet agent
     Loaded: loaded (/lib/systemd/system/puppet.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:43:15 UTC; 22s ago
   Main PID: 1435 (puppet)
      Tasks: 2 (limit: 2353)
     Memory: 52.8M
     CGroup: /system.slice/puppet.service
             ??1435 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/puppet agent --no-daemonize

Sep 05 09:43:15 puppetagent systemd[1]: Started Puppet agent.

この時点で、Puppetエージェントがインストールおよび構成されています。これで、次のステップに進むことができます。

パペットエージェント証明書に署名する

Puppetはクライアントサーバーアーキテクチャを使用しているため、エージェントノードを構成する前に各エージェントノードの証明書要求を承認する必要があります。

Puppetマスターノードで、次のコマンドを実行してすべての証明書を一覧表示します。

/opt/puppetlabs/bin/puppetserver ca list

次の出力が表示されます。

Requested Certificates:
    puppetclient       (SHA256)  A4:9A:E9:87:8B:54:0A:4F:A0:78:65:1A:3C:99:B5:EC:31:9E:BB:4C:17:8A:50:16:E9:1E:3D:D6:27:74:89:85
    puppetmaster       (SHA256)  E9:25:4C:51:4E:47:D7:44:11:1F:C5:A9:4E:96:D9:E8:3A:EB:A0:01:48:06:B5:EF:3F:C4:09:03:90:3E:D8:2D

次に、次のコマンドを使用してすべての証明書に署名します。

/opt/puppetlabs/bin/puppetserver ca sign --all

次の出力が得られるはずです:

Successfully signed certificate request for puppetclient
Successfully signed certificate request for puppetmaster

これで、Puppetマスターはエージェントノードと通信して制御できるようになりました。

Puppetエージェントノードで、次のコマンドを使用してPuppetマスターとエージェントの通信をテストします。

/opt/puppetlabs/bin/puppet agent --test

すべてが正常であれば、次の出力が得られるはずです:

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for puppetclient
Info: Applying configuration version '1599300398'
Notice: Applied catalog in 0.02 seconds
結論

おめでとう!これで、Ubuntu20.04サーバーにPuppetマスターとエージェントが正常にインストールおよび構成されました。複数のエージェントを簡単に追加し、Puppetで簡単に管理できるようになりました。


Ubuntu
  1. UbuntuとDebianにNode.jsをインストールする

  2. Ubuntu20.04にVagrantをインストールして実行する

  3. Ubuntu14.04にPuppetマスターとクライアントをインストールする方法

  1. macOSにPuppetをインストールする方法

  2. Ubuntu18.04または20.04にPHP7.4および8.0をインストールする方法

  3. CentOSとUbuntuにPuppet4をインストールして設定する方法は? [マスターとエージェント]

  1. Ubuntu18.04および20.04にAnacondaをインストールする方法

  2. Ubuntu20.04にPuppetをインストールする方法

  3. Debian11にPuppetサーバーとエージェントをインストールする方法