qiita内を漁ったがpuppetの入門記事が見当たらなかったので書いとく。
環境
構成
- ドメイン名: safe
- puppetmaster: 192.168.11.100 centos5
インストール
パッケージを手で入れる場合
-
https://yum.puppetlabs.com/el/6/products/x86_64/
- puppet-2.6.14-1.el6.noarch.rpm
- facter-1.7.6-1.el6.x86_64.rpm
-
https://yum.puppetlabs.com/el/6/dependencies/x86_64/
- ruby-augeas-0.4.1-3.el6.x86_64.rpm
- ruby-shadow-1.4.1-13.el6.x86_64.rpm
sudo yum localinstall *.rpm
リポジトリ追加する場合
リポジトリ追加
# rpm -ivh http://yum.puppetlabs.com/el/5/products/i386/puppetlabs-release-5-7.noarch.rpm
パッケージインストール、puppetmaster起動
# yum install -y puppet-server
# service puppetmaster start
/var/log/messagesの出力
Nov 22 02:02:44 puppetmaster puppet-master[909]: Signed certificate request for ca
Nov 22 02:02:44 puppetmaster puppet-master[909]: Rebuilding inventory file
Nov 22 02:02:51 puppetmaster puppet-master[909]: puppetmaster.safe has a waiting certificate request
Nov 22 02:02:51 puppetmaster puppet-master[909]: Signed certificate request for puppetmaster.safe
Nov 22 02:02:51 puppetmaster puppet-master[909]: Removing file Puppet::SSL::CertificateRequest puppetmaster.safe at '/var/lib/puppet/ssl/ca/requests/puppetmaster.safe.pem'
Nov 22 02:02:51 puppetmaster puppet-master[909]: Removing file Puppet::SSL::CertificateRequest puppetmaster.safe at '/var/lib/puppet/ssl/certificate_requests/puppetmaster.safe.pem'
Nov 22 02:02:51 puppetmaster puppet-master[916]: Reopening log files
Nov 22 02:02:51 puppetmaster puppet-master[916]: Starting Puppet master version 3.3.2
認識しているクライアント一覧を表示
# puppet cert --list --all
+ "puppetmaster.safe" (SHA256) 8A:0D:E2:51:F5:96:2E:E3:21:D7:D0:88:9D:BE:82:6E:E4:0B:93:49:79:C5:86:B1:65:0B:39:2A:91:05:29:4C (alt names: "DNS:puppet", "DNS:puppet.safe", "DNS:puppetmaster.safe")
先頭が +
のものは承認済みのホスト、-
のものは未承認のホスト。
通信確認
通信確認
# ping puppetmaster.safe
PING puppetmaster.safe (192.168.11.100) 56(84) bytes of data.
64 bytes from puppetmaster.safe (192.168.11.100): icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from puppetmaster.safe (192.168.11.100): icmp_seq=2 ttl=64 time=0.045 ms
設定開始
流れ
-
/etc/puppet/manifests/
にファイルを作って実行の流れとなります。 -
/etc/puppet/manifests/
には、site.pp
やtemplate
を置くことになります。 -
site.pp
はホストごとに適用する内容を記述します。
vimのsyntax hilighter
# git clone https://github.com/puppetlabs/puppet-syntax-vim.git
# mv ./puppet-syntax-vim/ ~/.vim
何も設定していない状態で動作確認実行
# puppet agent --server=puppetmaster.safe --no-daemonize --verbose
Notice: Starting Puppet client version 3.3.2
Info: Retrieving plugin
Info: Caching catalog for puppetmaster.safe
Info: Applying configuration version '1385076346'
Notice: Finished catalog run in 0.02 seconds
- 終わったらctrl+cで終了する。
/var/log/messages
Nov 22 02:25:52 puppetmaster puppet-agent[1500]: Starting Puppet client version 3.3.2
Nov 22 02:25:53 puppetmaster puppet-agent[1505]: Retrieving plugin
Nov 22 02:25:53 puppetmaster puppet-master[916]: Compiled catalog for puppetmaster.safe in environment production in 0.01 seconds
Nov 22 02:25:53 puppetmaster puppet-agent[1505]: Caching catalog for puppetmaster.safe
Nov 22 02:25:53 puppetmaster puppet-agent[1505]: Applying configuration version '1385076346'
Nov 22 02:25:53 puppetmaster puppet-agent[1505]: Finished catalog run in 0.02 seconds
ここまで来たら命令を書いていく。