これは、フォアマンチュートリアルの2番目の部分です。最初のガイドでは、Ubuntu Server 18.04 LTSでのForemanのインストールと構成をすでに示しました。次に、PuppetAgentをForemenに追加する方法を示します。
前提条件
- フォアマンパペットマスター
- root権限
何をしますか?
- ホストのセットアップ
- PuppetAgentのインストールと構成
- フォアマンパペットマスターの証明書に署名する
- テスト
まず、puppetエージェントサーバーのFQDN(完全修飾ドメイン名)を構成する必要があります。
以下のhostnamectlコマンドを使用して、サーバーのホスト名を変更します。
hostnamectl set-hostname client.hakase-labs.io
その後、「/ etc/hosts」ファイルを編集します。
vim /etc/hosts
IPアドレスとFQDNを独自のものに変更して貼り付けます。
10.9.9.20 server.hakase-labs.io server
10.9.9.21 client.hakase-labs.io client
保存して閉じます。
次に、次のコマンドを使用してホストをテストし、サーバーのFQDNが有効なIPアドレスに解決されていることを確認します。
ping $(hostname -f) -c 3
このステップでは、PuppetAgent5をUbuntu18.04およびCentOS7サーバーにインストールします。 Puppetリポジトリをシステムに追加してから、PuppetエージェントパッケージをUbuntuサーバーとCentOSサーバーの両方にインストールします。
-Ubuntu18.04サーバーにPuppetAgentをインストールします
パッケージリポジトリをダウンロードして、システムに追加します。
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
sudo dpkg -i puppet5-release-bionic.deb
その後、ubuntuリポジトリを更新し、次のaptコマンドを使用してpuppetエージェントパッケージをインストールします。
sudo apt update
sudo apt install -y puppet-agent
-CentOS7サーバーにPuppetAgentをインストールします
パッケージリポジトリをダウンロードして、システムに追加します。
cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
rpm -ivh puppet5-release-el-7.noarch.rpm
その後、次のコマンドを使用してpuppetエージェントパッケージをインストールします。
sudo yum install -y puppet-agent
インストールが完了したら、デフォルトのpuppet構成を編集し、エージェント設定を定義する必要があります。
'/ etc / puppetlabs / puppet'ディレクトリに移動し、構成ファイル'puppet.conf'を編集します。
cd /etc/puppetlabs/puppet/
vim puppet.conf
サーバーのFQDNと証明書名を独自のものに変更して貼り付けます。
[agent]
server = server.hakase-labs.io
certname = client.hakase-labs.io
runinterval = 180
environment = production
listen = false
pluginsync = true
report = true
保存して終了します。
その後、次のコマンドを使用してパペットエージェントサービスを実行します。
sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
または、必要に応じて、サービスを再起動します。
sudo systemctl restart puppet
puppetエージェントはUbuntuサーバーとCentOSサーバーの両方で稼働しています。
puppetエージェントの証明書要求に署名するには、puppetマスターサーバー(この場合はフォアマンサーバー自体)のターミナルシェルを使用するか、フォアマンダッシュボードを使用します。
puppetマスターサーバー(このガイドではフォアマンサーバー)にログインし、次のコマンドを使用して証明書要求を確認します。
sudo /opt/puppetlabs/bin/puppetserver ca list
これで、クライアント名証明書が表示されます。以下のコマンドで署名してください。
sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io
また、パペットエージェント証明書がターミナルサーバーを介してパペットマスターに追加されました。
-フォアマンダッシュボードを使用して証明書リクエストに署名します
'インフラストラクチャをクリックします 左側の[]メニューから、[スマートプロキシ]を選択します '。
次に、「証明書」を選択します 'フォアマンサーバーのドロップダウンボタンからのオプション。
これで、「保留中」の状態でリクエストを行うクライアント名を取得し、「署名」をクリックします。 'ボタン。
その後、[ホスト]ページに移動してエージェントホストを確認します。
'ホストの内部 'メニューをクリックし、'すべてのホストをクリックします 'そして、以下のようにサーバーリストでパペットエージェントの名前を取得していることを確認してください。
以下にUbuntuPuppetAgentの詳細を示します。
このチュートリアルでは、パペットフォアマンサーバーとパペットエージェントをテストして、nginxサービスとNTPサービスをパペットエージェントホストにデプロイします。始める前に、nginxおよびntp puppetモジュールをフォアマンサーバーにダウンロードしてから、これらのモジュールをアクティブにして、puppetエージェントに追加する必要があります。
-NginxPuppetモジュールをダウンロード
puppet master foremanサーバーで次のコマンドを実行して、nginxpuppetモジュールをダウンロードします。
sudo /opt/puppetlabs/bin/puppet module install puppet/nginx
-パペットモジュールをアクティブ化
その後、フォアマンダッシュボードからnginxモジュールをインポートします。
[構成]をクリックします '左側のメニューをクリックし、[パペット]をクリックします'クラス '。
'server.hakase-labs.ioから環境をインポートをクリックします 'ボタンをクリックし、利用可能なモジュールクラスにチェックマークを付けて、'更新をクリックします。 '。
これで、リストにNginxモジュールが表示されます。
-Puppetモジュールをエージェントホストに追加
'ホストをクリックします '左側のメニューで、'すべてのホストをクリックします '利用可能なホストのリストを取得します。
次に、[編集]をクリックします 'client.hakase-labs.io'という名前のエージェントホストの'ボタン。
'人形教室に移動します []タブで、[nginx]および[ntp]モジュールを追加し、[送信]をクリックします 'ボタン。
NginxおよびNTPモジュールがエージェントホストに追加されました。
追加 :
ホスト上のアクティブなクラスを確認する場合は、「 YAML」をクリックするだけです。 ホストに関する詳細情報の[']ボタンをクリックすると、YAML構成の生のソースが表示されます。
変更を手動で適用する場合は、パペットエージェントホストで次のコマンドを実行できます。
sudo /opt/puppetlabs/bin/puppet agent --test
完了すると、次のような結果が表示されます。
その後、リストされたポートをチェックしてnginxおよびntpサービスを検証し、HTTPおよびNTPポートがnginxおよびntpサービスによって使用されていることを確認します。
netstat -plntu
これで、エージェントノード上のnginxWebサーバーにアクセスできます。
curl client.hakase-labs.io
ntpサーバーの構成を確認するには、次のコマンドを実行します。
cat /etc/ntp.conf
そして、Puppetによって管理されているntp構成が表示されます。
- https://theforeman.org/manuals/