「puppet」の編集履歴(バックアップ)一覧に戻る

puppet - (2009/02/21 (土) 01:16:44) の編集履歴(バックアップ)


Last Update 2009-02-28

Puppet

Linuxのシステム管理ツール。
多数のLinuxを管理者の定義した管理ポリシー(manifest)に従わせることができ、
まさに操り人形。
ファイルの配布、サービスの起動/停止、パッケージのインスト、等々を集中管理。
Cfengineの後継と目されていて、柔軟なmanifestの定義が魅力。
Rubyで作られている。
最新は0.24系。

リンク


ダウンロード


注意点

  • RedHat EL5.2標準でインストールされるruby-1.8.5はメモリリークするらしい
    ruby-1.8.6以上を使うのが良いらしい。
  • 0.24.5でpuppetrunを実行すると"Failed to load ruby LDAP library."のエラーになる。
    最新版で修正されているかは未確認。

サーバー側のインストールと設定

環境はRedHat EL5.2 Server(x86)のCDから構築した。
yumレポジトリが適切に設定されていてfacterもインストールできるようになっていれば、
% yum install puppet-server
でインストールは完了する。

インストール後、
  1. puppetmasterd.confにautosign=trueと追記
  2. % touch /etc/puppet/manifests/site.pp →とりあえず空のマニフェストを作っておく
  3. % puppetmasterd --mkusers
  4. % chkconfig puppetmaster on
  5. % service puppetmaster start
としてpuppetmasterdを起動する。

クライアント側のインストールと設定

環境はRedHat EL5.2 Client(x86)のCDから構築した。
yumレポジトリが適切に設定されていてfacterもインストールできるようになっていれば、
% yum install puppet
でインストールは完了する。

インストール後、
  1. puppetd.confにserver=puppetmasterdのサーバーを追記
  2. % chkconfig puppet on
  3. % service puppet start
とする。

すると、puppetdはpuppetmasterdに証明書(CA)のサインを要求しにいく。
サーバー側のpuppetmasterdはautosign設定になっているのでクライアントの証明書にサインする。

以後、puppetdは30分に1回(runinterval=1800)、puppetmasterdにマニフェストをリクエストし、自分のコンピュータ内でマニフェストと異なっている所をチェックして補正するようになる。

マニフェストの例

File

Service

Package