マニフェストでグループを作ってみる

前回までで、Puppetのインストールを完了しました。
今回から、マニフェストを少しずつ書いていこうと思います。

グループを作成するマニフェストを書いてみる

マニフェストを使用して、各サーバにグループtestgroupを作成してみましょう。
ファイル/etc/puppet/manifests/site.ppを新規作成します。

# touch /etc/puppet/manifests/site.pp

この拡張子.ppのファイルが、マニフェストを記述するファイルとなります。
こちらに作成するグループを書いていきます。

# vi /etc/puppet/manifests/site.pp

group { 'testgroup':
    ensure => present,
    gid => 5000,
}

これはgid 5000のグループtestgroupを作成する記述です。
この記述の具体的な意味は次回解説します。
今回は、とりあえずグループを作るだけにします。

マニフェストをいきなり、Agentに適用する前にテストをしましょう。
Agent/Master構成の場合、puppet agentコマンドによってマニフェストを適用しますが、いきなり適用せずマニフェストを正常に適用できるかテストすることができます。
マニフェストを適用したいAgentサーバにて、以下のコマンドを実行すればOKです。
オプションの意味も次回解説します。

# puppet agent -t --verbose --noop
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for dbs01
Info: Applying configuration version '**********'
Notice: /Stage[main]/Main/Group[testgroup]/ensure: current_value absent, should be present (noop)
Notice: Class[Main]: Would have triggered 'refresh' from 1 events
Notice: Stage[main]: Would have triggered 'refresh' from 1 events
Info: Creating state file /var/lib/puppet/state/state.yaml
Notice: Finished catalog run in 0.15 seconds

上記実行結果は、勉強環境のdbs01で実行した例です。
Notice: /Stage[main]/Main/Group[testgroup]/...という部分が確認できると思います。
エラーが出なければ、あとは実際に適用します。
先ほどの、実行コマンドから--noopを外してもう一回実行すればOKです。

# puppet agent -t --verbose
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for dbs01
Info: Applying configuration version '**********'

testgroupが作成されたか確認します。

# cat /etc/group | grep testgroup
testgroup:x:5000:

無事に作成されたことが確認できます。
あとは、これを他のAgentサーバについても同様に実行すればOKです。

今回はここまで。
次回は、今回取り上げたマニフェストの記述やコマンドについて解説します。