参考
centos7の場合、puppet2系は提供されていない。あとruby2.0が入る
https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-12.noarch.rpm
インストール
- 最新はpuppet3系だが、puppet2系と互換性がない
- puppet2.6とpuppet2.7でもうまく行かなかったため今回は2.6系最新の2.6.18をインストール。
puppetインストール
rpm -ivh https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-12.noarch.rpm
#yum install puppet-server-2.7.26
yum install puppet-server-2.6.18
依存関係
=================================================================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
=================================================================================================================================
インストールしています:
puppet-server noarch 2.6.18-1.el6 puppetlabs-products 22 k
依存性関連でのインストールをします。:
augeas-libs x86_64 1.0.0-10.el6 base 314 k
compat-readline5 x86_64 5.2-17.1.el6 base 130 k
dmidecode x86_64 1:2.12-7.el6 base 74 k
facter x86_64 1:2.4.6-1.el6 puppetlabs-products 99 k
libselinux-ruby x86_64 2.0.94-7.el6 base 100 k
pciutils x86_64 3.1.10-4.el6 base 85 k
pciutils-libs x86_64 3.1.10-4.el6 base 34 k
puppet noarch 2.6.18-1.el6 puppetlabs-products 816 k
ruby x86_64 1.8.7.374-4.el6_6 base 538 k
ruby-augeas x86_64 0.4.1-3.el6 puppetlabs-deps 21 k
ruby-libs x86_64 1.8.7.374-4.el6_6 base 1.7 M
ruby-shadow x86_64 1:2.2.0-2.el6 puppetlabs-deps 13 k
virt-what x86_64 1.11-1.2.el6 base 24 k
トランザクションの要約
=================================================================================================================================
インストール 14 パッケージ
総ダウンロード容量: 3.9 M
インストール済み容量: 10 M
これでいいですか? [y/N]
設定
# server
touch /etc/puppet/manifests/site.pp
service puppetmaster start
# client
sed -i -e "s/#PUPPET_SERVER=puppet/PUPPET_SERVER=${HOSTNAME}/" /etc/sysconfig/puppet
service puppet start
puppet agent --server ${HOSTNAME} --test --noop
sign
# server
puppet cert --list --all
# 自分自身であればすでにsignされているので飛ばす
#puppet cert sign ${HOSTNAME}
# 念のため、certの削除方法
#puppet cert clean ${HOSTNAME}
# /etc/puppet/を2系のものに差し替えた時など、sslがおかしくなった場合は
#mv /var/lib/puppet/ssl /var/lib/puppet/ssl.bak
#service puppet restart
#service puppetmaster restart
動作例
- 例として「testgroup」という名前で GID「2000」のグループを作成
/etc/puppet/manifests/site.pp
group { 'testgroup':
ensure => present,
gid => 2000,
}
# dry-run
puppet agent --server ${HOSTNAME} --test --noop --verbose
# 実行
puppet agent --server ${HOSTNAME} --test --verbose
エラー例
$ puppet agent --server ${HOSTNAME} --test --noop --verbose
notice: Run of Puppet configuration client already in progress; skipping
ロックファイルが残っているのが原因との情報もあったが、
該当のロックファイルを見つけることができなかった。
1分後くらいに再度実行すると実行できた。