Puppetのテスト環境の構築

しばらくPuppetを使ったコンフィギュレーションマネージメント環境を運用しているのだが、なかなかコレというマニフェストの運用方法が定まらない。

改めて、マニフェストの記述を復習してみようと思い立ったので、テスト環境を作成してみる。

マニフェストのテストだけができればよいので、シングルインスタンスでPuppetのサーバとエージェントを動かすことにする。AWSでAmazon Linuxを起動して、Puppetをインストールする。

$ sudo yum install puppet puppet-server -y

このあたりがインストールされるはず。実施するタイミングによて、バージョンが違って来ることもあると思うので、メモしておく。

====================================================================================================
 Package                  Arch            Version                     Repository               Size
====================================================================================================
Installing:
 puppet                   i686            2.6.6-3.2.amzn1             amzn-updates            831 k
 puppet-server            i686            2.6.6-3.2.amzn1             amzn-updates             21 k
Installing for dependencies:
 augeas-libs              i686            0.7.2-6.2.amzn1             amzn-main               265 k
 facter                   i686            1.5.9-1.4.amzn1             amzn-main                59 k
 ruby-augeas              i686            0.3.0-2.2.amzn1             amzn-main                20 k

マニフェストそのもの以外のところではあまり面倒なことはしたくない。デフォルトの設定のままで動作するように/etc/hostsにエージェントが参照するpuppetという名前を記述しておく。

127.0.0.1   localhost localhost.localdomain puppet

これで準備完了。Puppetサーバを起動する。

$ sudo /etc/init.d/puppetmaster start

証明書の状態を確認しておく。

$ sudo puppetca --list --all
+ ip-10-156-181-207.ap-northeast-1.compute.internal (79:A9:72:CA:1F:60:A4:60:6C:58:38:6C:0B:84:80:72)

エージェントもいちど動かしておく。testオプションをつけて起動するとデーモンとして動作せず、標準出力にメッセージが出てくるので、こうしたテストでは扱いやすい。

$ sudo puppetd --test
info: Caching catalog for ip-10-156-181-207.ap-northeast-1.compute.internal
info: Applying configuration version '1330265700'
info: Creating state file /var/lib/puppet/state/state.yaml
notice: Finished catalog run in 0.11 seconds

これでテストできる状態が整った。 テストそのものはまた次の機会に。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>