GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でPuppetマスターとエージェントをセットアップする方法

Puppetは、オープンソースの構成管理ツールおよびサーバー自動化フレームワークです。 Puppetは、UnixライクなオペレーティングシステムとMicrosoftWindowsシステムで実行できます。 1台のマスターサーバーから数百のシステムの管理タスクと構成を管理および実行できます。

このチュートリアルでは、CentOS 7にPuppetをインストールする方法を説明します。CentOS7サーバーをPuppetの「マスター」としてインストールし、もう1つのサーバーを「エージェント」として構成します。

前提条件
  • 2台のCentOS7サーバー
    • 10.0.15.10master.hakase.io2GBメモリ
    • 10.0.15.11 agent.hakase.io
  • root権限

私たちが行うこと:

  1. 人形の事前インストール
  2. Puppetサーバーのインストールと構成
  3. PuppetAgentのインストールと構成
  4. Puppetエージェントの構成を確認する
  5. 最初の人形マニフェストを作成する
ステップ1-Puppetの事前インストール

このステップでは、サーバーpuppetmasterとpuppetagentの両方でのインストールと構成を含むいくつかのタスクを実行します。ホストのファイルを構成し、NTPサーバーを使用して時刻を同期し、SELinuxを無効にして、システムにpuppetリポジトリを追加します。

-ホストを構成します

rootユーザーを使用してパペットマスターとエージェントに接続します。

ssh [email protected]
ssh [email protected]

次に、vimエディターを使用してホストを編集します。

vim /etc/hosts

次の構成を行の最後に追加します。

10.0.15.10      master.hakase.io
10.0.15.11      agent.hakase.io

保存して終了します。

次に、pingコマンドを使用してテストします。

ping master.hakase.io
ping agent.hakase.io

また、サーバーのIPアドレスが10.0.15.10と10.0.15.11であることを確認してください。

-NTPサーバーを構成する

マスターサーバーとエージェントサーバーの間の時刻を同期させることが非常に重要です。

yumコマンドを使用して両方のサーバーにNTPパッケージをインストールします。

yum -y install ntp ntpdate

インストールが完了したら、以下のコマンドを実行して、必要に応じてNTPプールを選択します。

sudo ntpdate 0.centos.pool.ntp.org

次に、NTPサービスを開始し、システムの起動時に毎回起動できるようにします。

sudo systemctl start ntpd
sudo systemctl enable ntpd

NTPのインストールと構成が完了しました。

-SELinuxを無効にする

vimを使用してSELinux構成を編集します。

vim /etc/sysconfig/selinux

SELINUXの値を「無効」に変更します。

SELINUX=disabled

保存して終了します。

-Puppetリポジトリを追加

次に、以下のrpmコマンドを使用して、puppetリポジトリをシステムに追加します。

rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm

完了したら、両方のサーバーを再起動します。

reboot

これで、パペットのインストールと構成の準備が整いました。

ステップ2-Puppetserverをインストールして構成する

このステップでは、puppetserverをmaster.hakase.ioサーバーにインストールします。以下のyumコマンドを使用してpuppetserverをインストールします。

sudo yum -y install puppetserver

インストールが完了したら、puppetserverのメモリ割り当てを構成する必要があります。 puppetserverの最大メモリ割り当てを1GBに設定します。

vimを使用して「puppetserver」構成を編集します。

vim /etc/sysconfig/puppetserver

次に、次のように行を変更します。

JAVA_ARGS="-Xms1g -Xmx1g ...."

保存して終了します。

次に、puppet構成ディレクトリに移動し、「puppet.conf」ファイルを編集します。

cd /etc/puppetlabs/puppet
vim puppet.conf

次の構成を追加します。

[master]
dns_alt_names=master.hakase.io,puppet

[main]
certname = master.hakase.io
server = master.hakase.io
environment = production
runinterval = 1h

保存して終了します。

次に、puppetserverを起動し、起動時に毎回起動できるようにします。

systemctl start puppetserver
systemctl enable puppetserver

Puppetserverのインストールと構成が正常に完了しました。

システムでfirewalldを使用している場合は、以下のfirewall-cmdコマンドを使用してpuppetserverポートをリストに追加してください。

firewall-cmd --add-port=8140/tcp --permanent
firewall-cmd --reload

ステップ3-PuppetAgentのインストールと構成

puppetエージェントを「agent.hakase.io」サーバーにインストールします。

以下のyumコマンドを使用してpuppetエージェントをインストールします。

yum install -y puppet-agent

インストールが完了したら、puppet構成ディレクトリに移動し、puppet.confファイルを編集します。

cd /etc/puppetlabs/puppet
vim puppet.conf

次の構成を貼り付けます。

[main]
certname = agent.hakase.io
server = master.hakase.io
environment = production
runinterval = 1h

保存して終了します。

次に、パペットエージェントをパペットマスターに登録します。

puppetエージェントシェルで以下のコマンドを実行します。

/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

これで、パペットエージェントがサーバー上で実行され、パペットマスターに登録しようとしています。

ここで、パペットマスターシェルに戻り、以下のコマンドを実行します。

/opt/puppetlabs/bin/puppet cert list

また、パペットエージェントサーバー「agent.hakase.io」から保留中の証明書署名要求(CSR)を取得します。

以下のコマンドを使用して証明書に署名します。

/opt/puppetlabs/bin/puppet cert sign agent.hakase.io

結果は次のようになります。

これで、パペットエージェントがシステムで実行され、エージェントの証明書がパペットマスターによって署名されました。

ステップ4-パペットエージェントの構成を確認する

パペットマスターがエージェントの証明書ファイルに署名した後、パペットエージェントで以下のコマンドを実行して構成を確認します。

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

そして、以下のような結果が得られます。

Puppetエージェントは、Puppetマスターから構成をプルし、エラーなしでサーバーに適用しました。

ステップ5-最初のマニフェストを作成する

パペットマスターとエージェントのインストールと構成が完了しました。このステップでは、テスト用の簡単なマニフェストを作成します。

ApachehttpdWebサーバーインストールのマニフェストを作成します。

puppetマスターサーバーで、「/ etc / puppetlabs / code /」ディレクトリに移動し、vimを使用して新しいマニフェストファイル「site.pp」を作成します。

cd /etc/puppetlabs/code/
cd environments/production/manifests

新しいマニフェストファイルを作成します。

vim site.pp

次の構成を貼り付けます。

node 'agent.hakase.io' {
    package { 'httpd':
        ensure  => "installed",
    }
    service { 'httpd':
        ensure => running,
    enable => true
    }
}

保存して終了します。

次に、パペットエージェントサーバーシェルを開き、以下のコマンドを実行します。

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

このコマンドは、パペットマスターから新しいマニフェスト構成ファイルを取得し、それをエージェントサーバーに適用します。

結果は次のとおりです。

Webブラウザーを開き、パペットエージェントのIPアドレスを入力します。

http://10.0.15.11/

そして、以下のようなデフォルトのHTTPページが表示されます。

httpdWebサーバーはpuppetマニフェストを使用してインストールされています。

CentOS7でのPuppetマスターとPuppetエージェントのインストールと構成が正常に完了しました。


Cent OS
  1. CentOSにDRBDをインストールしてセットアップする方法

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

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

  1. CentOS6をPCにインストールする方法| CentOS 6インストールのセットアップ–インストール後の構成

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

  3. CentOS8でSSHキーを設定する方法

  1. RHEL 8 /CentOS8にPuppetをインストールする方法

  2. CentOS 7 VPSを保護する方法:Fail2Ban構成のセットアップ

  3. CentOS8でPuppetマスターとエージェントをセットアップする方法