Puppetをインストールする part1
今回から何回かに分けて、Puppetのインストールを取り上げたいと思います。
構成
前回の記事でも少し話した通り、Agent/Master構成の環境を構築します。
Agent/Masterの関係はこんな感じで。
- WEBサーバ(WEB01):Agent
- DBサーバ(DBS01):Agent
- 管理サーバ(MGS01):Master兼Agent
ベースにするシステム構成はここを参照。
こんなシステム構成で色々勉強していく - ressyのナレッジ的なブログ
管理サーバは、Masterサーバとして運用しつつ、自身も構成管理対象としたいと思います。
Puppetインストールの流れ
Puppetのインストールから、Agentにマニフェストが適用できるようにするまでの流れはこんな感じ。
- インストール前の事前設定(Master / Agent)
- リポジトリの設定(Master / Agent)
- Puppetのインストールと設定(Master)
- Puppetのインストールと設定(Agent)
- Master側での署名確認(Master)
数回の記事に分けて、上記を進めていきたいと思います。
1. インストール前の事前設定(Master / Agent)
Puppetをインストールする前に以下の項目を設定しておきましょう。
(1) ファイアウォール
Master-Agent間の通信はtcp/8140を使用します。
iptablesでポートを許可する、SELinuxを無効化するなどして、Master-Agent間の通信ができるようにしておきましょう。
例)iptablesでtcp/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/config … SELINUX=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
コマンドで時刻同期ができているか確認しましょう。
今回はここまで。 次回へ続きます。