Puppetラーニングマニュアル:Puppetソースインストール
5146 ワード
環境:
オペレーティングシステム:RedHat 5.3 64 bit
Puppetバージョン:2.7.9
Factorバージョン:1.6.8
1、Puppet及びFactorダウンロードアドレス
Puppet:https://downloads.puppetlabs.com/facter/
Facter: https://downloads.puppetlabs.com/puppet/
2、Puppet Serverのインストール
まずPuppetをインストールする前にrubyをインストールする必要があります.ここではyumを使用してインストールします.具体的には:
①、Factorインストール
②、Puppet取付
このようにPuppet Server側のインストールが完了すると、次は構成ドキュメントや起動スクリプトの設定になります.プロファイルのインストールが完了すると、次のように、copyインストールパッケージの一部のプロファイルをPuppet構成ディレクトリ/etc/puppetにインストールする必要があります.具体的には、 起動スクリプト Puppetユーザおよび対応するディレクトリ を作成する.
作成されたディレクトリは主に/var/lib/puppetです. Puppet Server構成ドキュメント を生成
以上、Puppet Server側のインストールを完了しましたが、残りはSSL認証です.
3、Puppet Agentのインストール
Agent側FactorおよびPuppetのインストールは、サーバ側と同じです.違いは、その後の起動スクリプトと構成ドキュメントが異なることです.関連する構成情報は次のとおりです.起動ファイル Puppet Agent構成文書 を生成する.
4、SSL認証
①、DNS設定又はhost設定
Puppet SSL認証はドメイン名でマークされており、ここではドメイン名を設定する必要があります.ここではテスト使用なので、今回は/etc/hostsでドメイン名のIP指向を直接設定し、本番環境で使用する場合はDNSで設定することをお勧めします.Puppet ServerおよびAgentのhosts設定は次のとおりです. Puppet Server Puppet Agent
②、Puppet Agent証明書申請
1つ目は証明書を申請するとき、成功するかどうかにかかわらず、1回だけ実行します.
2つ目は証明書を申請する際、フロントエンドで詳細を実装し続け、デフォルトではdaemonとして実行されます.
③、Puppet Server証明書発行
その他のPuppet Serverと証明書に関するコマンドは次のとおりです.
5、Puppet ServerとAgentの接続テスト
①、site.pp
site.ppこのファイルは/etc/puppet/manifestsディレクトリの下にあり、Puppet Serverのすべてのエージェントに対する操作はこのプロファイルから入力されます.ここではテストのためにこのファイルを簡単に構成し、Agentに対してユーザーを作成します.具体的な情報は以下の通りです.
以上のように、すべてのエージェントに対してtestユーザー名を作成し、shellを/bin/bash、ディレクトリを/home/test、パスワードを12345とします.
②、エージェント実行
以上のようにPuppet Agentの実行結果は実行に成功しました.
オペレーティングシステム:RedHat 5.3 64 bit
Puppetバージョン:2.7.9
Factorバージョン:1.6.8
1、Puppet及びFactorダウンロードアドレス
Puppet:https://downloads.puppetlabs.com/facter/
Facter: https://downloads.puppetlabs.com/puppet/
2、Puppet Serverのインストール
まずPuppetをインストールする前にrubyをインストールする必要があります.ここではyumを使用してインストールします.具体的には:
# yum install -y ruby ruby-libs ruby-shadow
①、Factorインストール
# tar xzvf facter-1.6.8.tgz
# cd facter-1.6.8
# ruby install.rb
②、Puppet取付
# tar xzvf puppet-2.7.9.tgz
# cd puppet-2.7.9
# ruby install.rb
このようにPuppet Server側のインストールが完了すると、次は構成ドキュメントや起動スクリプトの設定になります.
# cp conf/redhat/fileserver.conf /etc/puppet/
# cp conf/redhat/puppet.conf /etc/puppet/puppet.conf.default
fileserver.conf→Puppetファイルシステム構成puppet.conf→Puppetのデフォルト設定ドキュメントは、以下を参照してください.ただし、これはコピーしなくてもよいので、後で注意を生成するように命令されます.心配システムによってコピーされたプロファイルのディレクトリも異なります.オペレーティングシステムがredhat、ディレクトリがconf/redhat、オペレーティングシステムがsuseの場合、ディレクトリはconf/suseです.# cp conf/redhat/server.init /etc/init.d/puppetmaster
# chmod +x /etc/init.d/puppetmaster
注意:デフォルトではpuppetの構成ドキュメント/etc/puppet/puppet.confはpidのストレージパスを/var/lib/puppet/runに設定し、起動スクリプトのパスは/var/run/puppetに設定します.ここでは両者を統一する必要があります.# puppet master --mkusers
# ll /var/lib/puppet/
total 48
drwxr-x--- 2 puppet puppet 4096 Nov 1 17:34 bucket
drwxr-x--- 2 puppet puppet 4096 Nov 7 14:11 clientbucket
drwxr-x--- 2 puppet puppet 4096 Nov 7 14:11 client_data
drwxr-x--- 2 puppet puppet 4096 Nov 7 14:11 client_yaml
drwxr-xr-x 2 puppet puppet 4096 Nov 1 17:34 lib
drwxr-x--- 2 puppet puppet 4096 Nov 8 14:06 log
drwxr-x--- 3 puppet puppet 4096 Nov 4 17:28 reports
drwxr-x--- 2 puppet puppet 4096 Nov 1 17:34 rrd
drwxrwxrwt 2 puppet puppet 4096 Nov 12 11:42 run
drwxr-x--- 2 puppet puppet 4096 Nov 1 17:34 server_data
drwxr-xr-t 3 puppet puppet 4096 Nov 7 14:11 state
drwxr-x--- 4 puppet puppet 4096 Nov 4 16:37 yaml
作成されたディレクトリは主に/var/lib/puppetです.
# puppetmasterd --genconfig > /etc/puppet/puppet.conf
以上、Puppet Server側のインストールを完了しましたが、残りはSSL認証です.
3、Puppet Agentのインストール
Agent側FactorおよびPuppetのインストールは、サーバ側と同じです.違いは、その後の起動スクリプトと構成ドキュメントが異なることです.関連する構成情報は次のとおりです.
# cp -p conf/redhat/client.init /etc/init.d/puppet
# chmod +x /etc/init.d/puppet
# puppet agent --genconfig > /etc/puppet/puppet.conf
4、SSL認証
①、DNS設定又はhost設定
Puppet SSL認証はドメイン名でマークされており、ここではドメイン名を設定する必要があります.ここではテスト使用なので、今回は/etc/hostsでドメイン名のIP指向を直接設定し、本番環境で使用する場合はDNSで設定することをお勧めします.Puppet ServerおよびAgentのhosts設定は次のとおりです.
# cat /etc/hosts
・・・
10.197.95.245 szmlvm29-76 szmlvm29-76.easou.com
10.197.95.234 szmlvm29-77 szmlvm29-77.easou.com puppet
# cat /etc/hosts
・・・
120.197.95.234 szmlvm29-77.easou.com szmlvm29-77
120.197.95.245 szmlvm29-76.easou.com szmlvm29-76
②、Puppet Agent証明書申請
# puppetd --server szmlvm29-76.easou.com --test
# puppetd --server szmlvm29-76.easou.com --no-daemonize �Cverbose
1つ目は証明書を申請するとき、成功するかどうかにかかわらず、1回だけ実行します.
2つ目は証明書を申請する際、フロントエンドで詳細を実装し続け、デフォルトではdaemonとして実行されます.
③、Puppet Server証明書発行
# puppetca --sign szmlvm29-77.easou.com puppet cert --sign szmlvm29-77.easou.com
szmlvm29-77.easou.com
# puppetca --sign --all puppet cert --sign --all
その他のPuppet Serverと証明書に関するコマンドは次のとおりです.
# puppet cert --list puppetca --list
# puppet cert -revoke puppet puppetca -revoke puppet
# puppet cert --clean puppet puppetca --clean puppet
5、Puppet ServerとAgentの接続テスト
①、site.pp
site.ppこのファイルは/etc/puppet/manifestsディレクトリの下にあり、Puppet Serverのすべてのエージェントに対する操作はこのプロファイルから入力されます.ここではテストのためにこのファイルを簡単に構成し、Agentに対してユーザーを作成します.具体的な情報は以下の通りです.
$ cat site.pp
node default {
user { "test1" : ensure=>present,comment=>" ",name=>test,shell=>"/bin/bash",home=>"/home/text",managehome=>true,password=>sha1('12345');}
}
以上のように、すべてのエージェントに対してtestユーザー名を作成し、shellを/bin/bash、ディレクトリを/home/test、パスワードを12345とします.
②、エージェント実行
# /usr/sbin/puppetd --server szmlvm29-76.easou.com --test
info: Caching catalog for szmlvm29-77.easou.com
info: Applying configuration version '1384248986'
notice: /Stage[main]//Node[default]/User[test1]/ensure: created
notice: Finished catalog run in 0.16 seconds
# cat /etc/passwd
・・・
test:x:505:506: :/home/text:/bin/bash
# ll /home/
・・・
drwx------ 3 test test 4096 Nov 18 14:41 text
# cat /etc/shadow
test:8cb2237d0679ca88db6464eac60da96345513964:16027:0:99999:7:::
以上のようにPuppet Agentの実行結果は実行に成功しました.