なのまるです。
やんごとなき理由により、RedHat Enterprise Linux 4系(RHEL4/CentOS4)にPuppet Agentを入れました。
その時のメモです。
もくじ
前提条件
- Puppet Master と agent の構成
- 例は「i386」版を利用
手順
Puppet Agent を 「RHEL4/CentOS4」 に入れる!?理由などは最後に書いておきましたので。まずは、手順
- RPM GPG キーの追加
- Puppet Enterprise の Agent ダウンロード
- Puppet Enterprise の Agent インストール
- Puppet Agentの設定
- Puppet Master との接続確認
RPM GPG キーの追加
最初に、パッケージの署名で使われる公開鍵を持って来ました!wget https://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs gpg --import RPM-GPG-KEY-puppetlabsうまくインポートされていれば
gpg --fingerprint puppetlabs.com
pub 4096R/4BD6EC30 2010-07-10 [expires: 2016-07-08] Key fingerprint = 47B3 20EB 4C7C 375A A9DA E1A0 1054 B7A2 4BD6 EC30 uid Puppet Labs Release Key (Puppet Labs Release Key) info@puppetlabs.com
と、なるはず!
Puppet Enterprise の Agent ダウンロード
ここから、Puppet Masterにあったバージョンのagentをダウンロードしてきます!Previous Releases
Puppet Enterpriseの方がバージョン進んでいるので、気を付けること。
- バージョンが離れていると、以下のようなエラーメッセージが出ます!
Error: Could not request certificate: Error 400 on SERVER: The environment must be purely alphanumeric, not 'puppet-ca'
Exiting; failed to retrieve certificate and waitforcert is disabled
例: i386版の『Puppet Enterprise 3.8.3 Simplified Agent Packages』を使います。
wget https://pm.puppetlabs.com/puppet-enterprise/3.8.3/puppet-enterprise-3.8.3-el-4-i386-agent.tar.gz.asc wget https://pm.puppetlabs.com/puppet-enterprise/3.8.3/puppet-enterprise-3.8.3-el-4-i386-agent.tar.gz gpg --verify puppet-enterprise-3.8.3-el-4-i386-agent.tar.gz.asc puppet-enterprise-3.8.3-el-4-i386-agent.tar.gz
最後のコマンドがうまくいけば、こんな表示になるはず。
gpg: Signature made Wed 28 Oct 2015 05:57:32 AM JST using RSA key ID 4BD6EC30 gpg: Good signature from "Puppet Labs Release Key (Puppet Labs Release Key) info@puppetlabs.com" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 47B3 20EB 4C7C 375A A9DA E1A0 1054 B7A2 4BD6 EC30
気にならない人は「tar.gz」だけ持ってきて。
Puppet Enterprise の Agent インストール
rpmコマンドでインストールしていきます。tar zxf puppet-enterprise-3.8.3-el-4-i386-agent.tar.gz cd puppet-enterprise-3.8.3-el-4-i386-agent/agent_packages/el-4-i386 rpm -ivh pe-*.rpm本当はyumのリポジトリとか作って効率化させたいんだけど、それは後日!
Puppet Agentの設定
/etc/puppetlabs/puppet/puppet.confを環境に合わせて編集します!自分はマスターサーバーの設定をしました。
- 修正箇所だけ抜粋
[agent] report = true classfile = $vardir/classes.txt localconfig = $vardir/localconfig graph = true pluginsync = true server = 「マスターサーバーのhost名 or IP」
Puppet Master との接続確認
最後にサーバーとの接続確認です!puppet agent --testここで、エラーらしきものがなければ大丈夫でしょう!
sudo service pe-puppet start sudo /sbin/chkconfig --list pe-puppetなどで、サービス起動と自動起動を確認します。
設定はお好みで。
Puppet Agent を 「RHEL4/CentOS4」 に入れる!?
結論だけ書くと、「Puppet Enterprise」のAgentを入れることで解決させました。Puppetには、
- Puppet Enterprise(有償版)
- Puppet OSS(無償版)
が、Puppet Enterpriseには追加されているそうです。
- 追加の設定機能
- グラフィカル・ユーザーインターフェース
- サポート
通常は、Puppet OSS版はRHEL5/CentOS5から、しか対応していません。
なので、ちょっとグレーな作業になります。。。と、思ったんですが。
日本語ドキュメントに「10ライセンスまで無料」って、書いてありました!
Puppet Enterprise — Puppetを強化したエンタープライズ・ソリューションで、追加の設定機能、グラフィカル・ユーザーインターフェース、サポートが備わっています。日本語ホーム — Documentation — Puppet Labsより
Puppet Enterpriseは10ライセンスまで無料で利用可能です。
ダウンロードはこちら。追加のライセンスについては、sales@puppetlabs.comまでご連絡ください。
まとめ
特に、難しいところはなかったと思います。サーバーが3台を超えたら、yumのリポジトリ作って効率化したくなります!
yumは後日対応します!
この本で、Puppet masterとagentの構成は勉強できませんが。
間違いなくPuppetの使い方がわかると思います!