Puppetをインストールする part1

今回から何回かに分けて、Puppetのインストールを取り上げたいと思います。

構成

前回の記事でも少し話した通り、Agent/Master構成の環境を構築します。
Agent/Masterの関係はこんな感じで。

  • WEBサーバ(WEB01):Agent
  • DBサーバ(DBS01):Agent
  • 管理サーバ(MGS01):Master兼Agent

ベースにするシステム構成はここを参照。
こんなシステム構成で色々勉強していく - ressyのナレッジ的なブログ

管理サーバは、Masterサーバとして運用しつつ、自身も構成管理対象としたいと思います。

Puppetインストールの流れ

Puppetのインストールから、Agentにマニフェストが適用できるようにするまでの流れはこんな感じ。

  1. インストール前の事前設定(Master / Agent)
  2. リポジトリの設定(Master / Agent)
  3. Puppetのインストールと設定(Master)
  4. Puppetのインストールと設定(Agent)
  5. Master側での署名確認(Master)

数回の記事に分けて、上記を進めていきたいと思います。

1. インストール前の事前設定(Master / Agent)

Puppetをインストールする前に以下の項目を設定しておきましょう。

(1) ファイアウォール

Master-Agent間の通信はtcp/8140を使用します。
iptablesでポートを許可する、SELinuxを無効化するなどして、Master-Agent間の通信ができるようにしておきましょう。

例)iptablestcp/8140の許可を追加する
# iptables -A INPUT -p tcp --dport 8140 -j ACCEPT
# service iptables save
# iptables -L
…
Chain INPUT (policy DROP)
…
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8140
例)SELinuxを無効化する
# cat /etc/selinux/configSELINUX=disabled
…

SELINUX=disabledじゃなかったら、viなどのエディタで開いて修正しましょう。

サーバを再起動後、SELinuxが無効になっていることを確認してください。

# getenforce
Disabled

(2) 名前解決

MasterとAgentはお互いにホスト名で通信できるようにする必要があります。
hosts、bindなどで名前解決ができるようにしておきましょう。

例)hostsファイルで名前解決できるようにする

全てのサーバに、全サーバ分の名前解決を書いてしまった方が手っ取り早いでしょう。

# cat /etc/hosts
…
192.168.10.10    WEB01
192.168.10.20    DBS01
192.168.10.30    MGS01
…

ちなみに、前回示したシステム構成には現れていませんが、私の勉強環境では管理サーバにbindを入れており、ローカルDNSを立てています。
bindについては、いずれこのブログでも取り上げると思います。

(3) 時刻

Puppetでは時刻情報も管理しているため、Agent、Master共に時刻が正しいことが必須です。
NTPなどで時刻を正確にしておきましょう。

例)ntp.nict.jpへ時刻同期するよう設定
# cat /etc/ntp.conf
…
server -4 ntp.nict.jp
…
# service ntpd restart

設定後、ntpq -pコマンドで時刻同期ができているか確認しましょう。

今回はここまで。 次回へ続きます。