Puppet-master
人形-マスター
Puppetでは、Puppetマスターのクライアントサーバーアーキテクチャは、セットアップ全体の制御機関と見なされます。 Puppetマスターはセットアップでサーバーとして機能し、すべてのノードのすべてのアクティビティを制御します。
Puppetマスターとして機能する必要のあるサーバーでは、Puppetサーバーソフトウェアが実行されている必要があります。 このサーバーソフトウェアは、ノード上のすべてのアクティビティを制御する重要なコンポーネントです。 このセットアップで覚えておくべき重要なポイントの1つは、セットアップで使用するすべてのマシンにスーパーユーザーがアクセスできるようにすることです。 Puppetマスターをセットアップする手順は次のとおりです。
前提条件
- プライベートネットワークDNS *-フォワードおよびバックワードを設定する必要があります。各サーバーには一意のホスト名が必要です。 DNSが構成されていない場合、インフラストラクチャとの通信にプライベートネットワークを使用できます。
*Firewall Open Port* -特定のポートで着信リクエストをリッスンできるように、Puppetマスターは特定のポートで開いている必要があります。 ファイアウォールで開いている任意のポートを使用できます。
Puppet Master Serverの作成
作成するPuppetマスターは、Puppetをホスト名として使用するCentOS 7×64マシン上にあります。 Puppetマスターを作成するための最小システム構成は、2つのCPUコアと1GBのメモリです。 このマスターで管理するノードの数によっては、構成のサイズも大きくなる場合があります。 インフラストラクチャでは、2 GB RAMを使用して構成されたものよりも大きくなります。
Host Name | Role | Private FQDN |
---|---|---|
Brcleprod001 | Puppet master | bnrcleprod001.brcl.com |
次に、PuppetマスターSSL証明書を生成する必要があり、すべてのノードの構成ファイルにマスターマシンの名前がコピーされます。
NTPのインストール
Puppetマスターは、どのセットアップでもエージェントノードの中央機関であるため、ノードにエージェント証明書を発行するときに発生する可能性のある構成の問題を回避するために、正確なシステム時間を維持することはPuppetマスターの重要な責任の1つです。
時間の競合の問題が発生した場合、マスターとノードの間に時間の不一致があると、証明書が期限切れに見える可能性があります。 ネットワークタイムプロトコルは、このような問題を回避するための重要なメカニズムの1つです。
利用可能なタイムゾーンのリスト
$ timedatectl list-timezones
上記のコマンドは、利用可能なタイムゾーンの全リストを提供します。 地域にタイムゾーンの可用性を提供します。
次のコマンドを使用して、マシンに必要なタイムゾーンを設定できます。
$ sudo timedatectl set-timezone India/Delhi
CentOSマシンのyumユーティリティを使用して、PuppetサーバーマシンにNTPをインストールします。
$ sudo yum -y install ntp
上記のコマンドで設定したシステム時刻とNTPを同期します。
$ sudo ntpdate pool.ntp.org
一般的には、マシンデータセンターの近くで利用可能な共通プールを使用するようにNTP構成を更新します。 このため、 /etc の下にあるntp.confファイルを編集する必要があります。
$ sudo vi/etc/ntp.conf
NTPプールのタイムゾーンからタイムサーバーを追加します。 ntp.confファイルは次のようになります。
brcleprod001.brcl.pool.ntp.org
brcleprod002.brcl.pool.ntp.org
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org
設定を保存します。 サーバーを起動し、デーモンを有効にします。
$ sudo systemctl restart ntpd
$ sudo systemctl enable ntpd
Puppet Serverソフトウェアのセットアップ
Puppetサーバーソフトウェアは、Puppetマスターマシンで実行されるソフトウェアです。 Puppet agentソフトウェアを実行している他のマシンに構成をプッシュするのはマシンです。
次のコマンドを使用して、公式のPuppet labsコレクションリポジトリを有効にします。
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm
puppetserverパッケージをインストールします。
$ sudo yum -y install puppetserver
Puppet Serverでメモリ割り当てを構成する
すでに説明したように、デフォルトでは、Puppetサーバーは2GB RAMマシン上で構成されます。 マシンで使用可能な空きメモリとサーバーが管理するノードの数に応じて、セットアップをカスタマイズできます。
viモードでpuppetサーバー構成を編集します
$ sudo vi/etc/sysconfig/puppetserver
Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation.
We will allocate 3GB of space
JAVA_ARGS="-Xms3g -Xmx3g"
完了したら、保存して編集モードを終了します。
上記のセットアップがすべて完了したら、次のコマンドを使用してマスターマシンでPuppetサーバーを起動する準備ができました。
$ sudo systemctl start puppetserver
次に、マスターサーバーが起動するたびにパペットサーバーが起動するようにセットアップします。
$ sudo systemctl enable puppetserver
Puppet.confマスターセクション
[master]
autosign = $confdir/autosign.conf { mode = 664 }
reports = foreman
external_nodes =/etc/puppet/node.rb
node_terminus = exec
ca = true
ssldir =/var/lib/puppet/ssl
certname = sat6.example.com
strict_variables = false
manifest =
/etc/puppet/environments/$environment/manifests/site.pp
modulepath =/etc/puppet/environments/$environment/modules
config_version =