Puppet で複数のマシンの設定を共有

Puppet を使って Ubuntu 10.10 のマシンの設定を共有する。 以下では puppet のサーバをインストールするマシンを puppet.example.com、 クライアントを client.example.com とする。 サーバ、クライアント共に Ubunut 10.10。

サーバ側

インストール

puppet.example.com の root で作業する。

apt-get install puppet puppetmaster

/var/run/puppet/master.pid に書いてある pid とユーザ puppet の pid が異なっていて 動かないようだったので、

cat /etc/passwd

で pid (ここでは 123 とする)を調べて

mv /var/run/puppet/master.pid .
echo 123 > /var/run/puppet/master.pid

とした。

puppetmaster を起動する。

/etc/init.d/puppetmaster start

ファイルの共有

root ユーザの .zshrc を共有したい。 puppet 用のファイル置き場として、/etc/puppet/files を作り、.zshrc をコピーする。

mkdir /etc/puppet/files
cp /root/.zshrc /etc/puppet/files

クライアントの認証

クライアントのアクセスの方法は「クライアント側」の項目を参照してください。 client.example.com からアクセスしたあとで puppet.example.com で

puppetca --list
puppetca --sign client.example.com

として証明書リクエストに対して署名する。

クライアント側

インストール

apt-get install puppet
puppetd --server puppet.example.com --verbose --test

設定

/etc/default/puppet を編集する。

# Defaults for puppet - sourced by /etc/init.d/puppet

# Start puppet on boot?

# START=no
 START=yes
 
# Startup options
DAEMON_OPTS="--server puppet.example.com"

設定を反映させるために、次のようにしてサーバにアクセスする。

/etc/init.d/puppet start
/etc/init.d/puppet stop

署名

ここで、署名されていないので「サーバ側」「クライアントの認証」を実行する。

そして、もう一度

puppetd --server puppet.example.com --verbose --test

とする。最後に、デーモンを起動させる。

/etc/init.d/puppet start

参考

Tags of current page

, , ,