Puppet--パッケージ、cronタスクの自動化管理
8689 ワード
Puppetオートメーション-パッケージ、cronタスク
Package:パッケージのインストールとアップグレードの管理
管理パッケージは、apt-get、yumなどのソフトウェア依存を解決できる2つの派閥に分かれています.もう1つのクラスは、dpkg、rpmなどのソフトウェア依存性を解決できないことである.puppetは、puppetを実行する環境に基づいて、どのようなパッケージ管理システムを使用しているかを自動的に判断します.もちろんproviderパラメータを手動で設定してpuppetにどんなコマンドでパッケージを管理させることもできます.各providerは、各機能を完了するためにいくつかの依存が必要である.providerに依存しなければなりません
パラメータ
Allowcdrom:aptにcdromをソフトウェアソースとして使用できるように伝え、falseまたはtrueに設定できます.
Category:パッケージ設定の読み取り専用属性
Configfiles:ソフトウェアのプロファイルを保持または置換するかどうか、ほとんどのソフトウェアはこのパラメータをサポートしていません.設定可能な値はfalse、trueです.
Description:パッケージの説明、パッケージ設定の読み取り専用属性
Ensure:パッケージの状態を設定します.installedは、このソフトウェアをインストールすることを示し、presentと書くこともできます.absentは逆インストールを示し、puregedはクリーンな削除を示し、latestはインストールパッケージの最新バージョンを示す.
Namevar:リソースのnamevar;パッケージの名前
Provider:パッケージ管理機能を提供するためにどのproviderを使用するかを指定します.
Responsefile:debianにソフトウェアをインストールすると、一般的にいくつかの質問に答え、このファイルで質問のプリセット答えを含め、debianまたはsolarisシステムで使用する.
Source:そこに行ってソフトウェアのインストールパッケージを探して、例えばrpmのパッケージのアドレス、必ずローカルのアドレスあるいはURLです
Packageリソーステスト例
編集ppは、以下の内容を追加し、nginxパッケージをインストールし、pppoeとpppoe-confを削除します.
編集が完了したら、そのうちの1台でClientテストを行います.
nginxパッケージがインストールされているかどうか、pppoeが削除されているかどうかを確認します.
パラメータ
Baseurl:ソフトウェアウェアハウスのアドレスを指定し、absentがそのウェアハウスを削除することを示すように設定.
Descr:ユーザーに読むソフトウェアウェアハウスの説明を提供し、absentがこの説明を削除するように設定します.
Enabled:倉庫が有効かどうかを設定し、0または1に設定できます.
Enablegroups:yumにこの倉庫でソフトウェアグループという特性を使用させるかどうか、設定できる値は0,1です.
Exlude:shellモードマッチングルール、このルールにマッチングするソフトウェアはこの倉庫からインストールされません.
Gpgcheck:倉庫がgpg署名チェックを有効にしているかどうか
Include:現在のプロファイルへのファイルパスを設定します.
Keepalive:yumがhttp/1.1のkeepliveプロパティを使用するかどうかを設定し、0,1に設定できます.
metadata_expire:設定数秒後、倉庫のmetadataが無効になります.
Mirrorlist:ソフトウェアウェアハウスミラーを含むurlを指定します.
Name:このリソースのnamevarは、ソフトウェアウェアハウスの名前を指定します.
Priority:ソフトウェアウェアハウスの優先順位を決め、1-99を設定できます.
Proxy:yumが使用するプロキシサーバアドレスを指定する
proxy_name:理サーバーユーザー名
proxy_password:理サーバのユーザーパスワード
timeout:数秒を超えるとソフトウェア倉庫への接続を放棄します.
パラメータ
ユーザとcommandの2つのパラメータを除いて、他のパラメータはいずれもオプションである.
Command:rontabが実行するコマンドで、環境変数はシステムのローカルルールに従って管理し、絶対パスの使用を推奨する.
Ensure:リソースが有効かどうかを決定し、trueまたはfalseに設定できます.
Environment:crontab環境で指定する環境変数、例えばPATH=/bin:/usr/bin:/usr/sbin.
Hour:行crontabの時間、0-23に設定可能
Minute:行crontabの分、0-59に設定可能
Month:crontabが実行される月を設定し、1-12
Monthday:ヶ月の日、1-31
Name:crontabの名前です.この名前は管理者が異なるcrontabを区別し、puppetが様々なリソース関係を管理するために使用します.
Provider:Provider、使用可能なprovider
User:crontabがそのユーザーのcrontabリストに追加され、デフォルトはpuppetを実行するユーザーです.
Weekday:行crontabの曜日、0-7
Cron計画タスクテスト例
site.ppには以下の内容が加わる
Clientプロセスでテスト:
Cronタスクリストの確認
一.パッケージリソース
Package:パッケージのインストールとアップグレードの管理
管理パッケージは、apt-get、yumなどのソフトウェア依存を解決できる2つの派閥に分かれています.もう1つのクラスは、dpkg、rpmなどのソフトウェア依存性を解決できないことである.puppetは、puppetを実行する環境に基づいて、どのようなパッケージ管理システムを使用しているかを自動的に判断します.もちろんproviderパラメータを手動で設定してpuppetにどんなコマンドでパッケージを管理させることもできます.各providerは、各機能を完了するためにいくつかの依存が必要である.providerに依存しなければなりません
パラメータ
Allowcdrom:aptにcdromをソフトウェアソースとして使用できるように伝え、falseまたはtrueに設定できます.
Category:パッケージ設定の読み取り専用属性
Configfiles:ソフトウェアのプロファイルを保持または置換するかどうか、ほとんどのソフトウェアはこのパラメータをサポートしていません.設定可能な値はfalse、trueです.
Description:パッケージの説明、パッケージ設定の読み取り専用属性
Ensure:パッケージの状態を設定します.installedは、このソフトウェアをインストールすることを示し、presentと書くこともできます.absentは逆インストールを示し、puregedはクリーンな削除を示し、latestはインストールパッケージの最新バージョンを示す.
Namevar:リソースのnamevar;パッケージの名前
Provider:パッケージ管理機能を提供するためにどのproviderを使用するかを指定します.
Responsefile:debianにソフトウェアをインストールすると、一般的にいくつかの質問に答え、このファイルで質問のプリセット答えを含め、debianまたはsolarisシステムで使用する.
Source:そこに行ってソフトウェアのインストールパッケージを探して、例えばrpmのパッケージのアドレス、必ずローカルのアドレスあるいはURLです
Packageリソーステスト例
編集ppは、以下の内容を追加し、nginxパッケージをインストールし、pppoeとpppoe-confを削除します.
- [root@master puppet]# vim manifests/site.pp
-
- package {
-
- ["nginx"]:
-
- ensure=>installed;
-
- ["pppoe","pppoe-conf"]:
-
- ensure=>absent;
-
- }
編集が完了したら、そのうちの1台でClientテストを行います.
- [root@client1 ~]# puppetd --server master.puppet --test
-
- notice: Ignoring --listen on onetime run
-
- info: Caching catalog for client1.centos
-
- info: Applying configuration version '1329979654'
-
- notice: Finished catalog run in 0.34 seconds
nginxパッケージがインストールされているかどうか、pppoeが削除されているかどうかを確認します.
- [root@client1 ~]# rpm -qa nginx
-
- nginx-0.8.54-1.el6.x86_64
-
- [root@client1 ~]# rpm -qa pppoe
二.Yumrepo資源
パラメータ
Baseurl:ソフトウェアウェアハウスのアドレスを指定し、absentがそのウェアハウスを削除することを示すように設定.
Descr:ユーザーに読むソフトウェアウェアハウスの説明を提供し、absentがこの説明を削除するように設定します.
Enabled:倉庫が有効かどうかを設定し、0または1に設定できます.
Enablegroups:yumにこの倉庫でソフトウェアグループという特性を使用させるかどうか、設定できる値は0,1です.
Exlude:shellモードマッチングルール、このルールにマッチングするソフトウェアはこの倉庫からインストールされません.
Gpgcheck:倉庫がgpg署名チェックを有効にしているかどうか
Include:現在のプロファイルへのファイルパスを設定します.
Keepalive:yumがhttp/1.1のkeepliveプロパティを使用するかどうかを設定し、0,1に設定できます.
metadata_expire:設定数秒後、倉庫のmetadataが無効になります.
Mirrorlist:ソフトウェアウェアハウスミラーを含むurlを指定します.
Name:このリソースのnamevarは、ソフトウェアウェアハウスの名前を指定します.
Priority:ソフトウェアウェアハウスの優先順位を決め、1-99を設定できます.
Proxy:yumが使用するプロキシサーバアドレスを指定する
proxy_name:理サーバーユーザー名
proxy_password:理サーバのユーザーパスワード
timeout:数秒を超えるとソフトウェア倉庫への接続を放棄します.
三.Cron資源
パラメータ
ユーザとcommandの2つのパラメータを除いて、他のパラメータはいずれもオプションである.
Command:rontabが実行するコマンドで、環境変数はシステムのローカルルールに従って管理し、絶対パスの使用を推奨する.
Ensure:リソースが有効かどうかを決定し、trueまたはfalseに設定できます.
Environment:crontab環境で指定する環境変数、例えばPATH=/bin:/usr/bin:/usr/sbin.
Hour:行crontabの時間、0-23に設定可能
Minute:行crontabの分、0-59に設定可能
Month:crontabが実行される月を設定し、1-12
Monthday:ヶ月の日、1-31
Name:crontabの名前です.この名前は管理者が異なるcrontabを区別し、puppetが様々なリソース関係を管理するために使用します.
Provider:Provider、使用可能なprovider
User:crontabがそのユーザーのcrontabリストに追加され、デフォルトはpuppetを実行するユーザーです.
Weekday:行crontabの曜日、0-7
Cron計画タスクテスト例
site.ppには以下の内容が加わる
- cron{ echo:
-
- command=>"echo \"This is cron job\"",
-
- user=>root,
-
- #hour=>[3,5],
-
- minute=>'*/2';
-
- }
Clientプロセスでテスト:
- [root@client1 ~]# puppetd --server master.puppet --test
-
- notice: Ignoring --listen on onetime run
-
- info: Caching catalog for client1.centos
-
- info: Applying configuration version '1329980213'
-
- notice: /Stage[main]//Node[default]/Cron[echo]/ensure: created
-
- notice: Finished catalog run in 0.50 seconds
Cronタスクリストの確認
- [root@client1 ~]# crontab -l
-
- # HEADER: This file was autogenerated at Thu Feb 23 14:56:53 +0800 2012 by puppet.
-
- # HEADER: While it can still be managed manually, it is definitely not recommended.
-
- # HEADER: Note particularly that the comments starting with 'Puppet Name' should
-
- # HEADER: not be deleted, as doing so could cause duplicate cron jobs.
-
- # Puppet Name: echo
-
- */2 * * * * echo "This is cron job"