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