今回から、
マニフェストとは、
シンプルなマニフェストをシステムに適用してみる
まずはシンプルなマニフェストを作成してそれを適用することによって、
Puppetサーバ上で、
file { '/etc/hosts':
owner => 'root',
group => 'root',
mode => 644,
}
内容は推測できると思いますが、
マニフェストを作成したらpuppetmasterdを起動します。
$ sudo puppetmasterd --nonodes --verbose info: Starting server for Puppet version 0.22.4 info: Parsed manifest in 0.01 seconds info: Listening on port 8140 notice: Starting Puppet server version 0.22.4
次はPuppetクライアント側での操作です。/etc/
$ sudo chmod 600 /etc/hosts
そしてpuppetdを起動します。--verboseオプションをつけることにより、
$ sudo puppetd --server puppet.example.com --verbose notice: Starting Puppet client version 0.22.4 info: Facts have changed; recompiling info: Caching configuration at /var/puppet/state/localconfig.yaml info: No classes to store notice: Starting configuration run notice: //File[/etc/hosts]/mode: mode changed '600' to '644'
この様に、
リソースの宣言
ユーザ、
先ほど適用したマニフェストをもう一度見てみます。
file { '/etc/hosts':
owner => 'root',
group => 'root',
mode => 644,
}
最初の
これにより、
あらかじめPuppetに組み込まれているリソースタイプには、
- user
(ユーザ) - group
(グループ) - host
(ホスト) - package
(ソフトウェアパッケージ) - service
(稼動しているサービス)
これら以外にも様々なリソースタイプがあります。
リソースの名前は管理対象となるファイルのパスを示しています。管理対象となるファイルのパスは、
file { 'hosts':
path => '/etc/hosts',
owner => 'root',
group => 'root',
mode => 644,
}
pathパラメータの様に、
fileタイプで指定できるパラメータには、
- backup
- checksum
- content
- ensure
fileタイプ以外のリソースタイプにどんなものがあるか、
この連載でも順次解説していきたいと思います。
複数リソースの宣言
マニフェストでは当然のことながら、
file { '/etc/hosts':
owner => 'root',
group => 'root',
mode => 644,
}
file { '/etc/sudoers':
owner => 'root',
group => 'root',
mode => 440,
}
リソースタイプが同じ場合には、
file {
'/etc/hosts':
owner => 'root',
group => 'root',
mode => 644;
'/etc/sudoers':
owner => 'root',
group => 'root',
mode => 440;
}
リソースタイプが異なる場合には、
file { '/etc/sudoers':
owner => 'root',
group => 'root',
mode => 440,
}
exec { 'blah':
path => '/usr/bin',
cwd => '/tmp',
}
リソースパラメータのデフォルト値
同じタイプのリソースに共通となるパラメータのデフォルト値を宣言することができます。宣言の方法は通常のリソースの宣言と似ていますが、
File {
owner => 'root',
group => 'root',
mode => 644,
}
file {
'/etc/hosts': ;
'/etc/passwd': ;
'/etc/group' : ;
'/etc/sudoers':
mode => 440;
}
デフォルト値と異なるものは上書きすることができ、
マニフェスト作成に便利なツール
配布されているPuppetのtarballには、
ヘルパーモードはタブキーでのインデント調整やシンタックスカラーリングをサポートしており、
ヘルパーモードファイルだけ欲しい場合には、
今回はマニフェストはじめの一歩と題して、