# Rundeck
Official:
http://rundeck.org/index.html
Download:
http://rundeck.org/downloads.html
## リポジトリ追加
# rpm -Uvh http://repo.rundeck.org/latest.rpm
## インストール
# yum install rundeck ~省略~ ========================================================================================= パッケージ アーキテクチャ バージョン リポジトリー 容量 ========================================================================================= インストールしています: rundeck noarch 2.5.3-1.10.GA rundeck-release-bintray 86 M 依存性関連でのインストールをします。: rundeck-config noarch 2.5.3-1.10.GA rundeck-release-bintray 9.0 k トランザクションの要約 ========================================================================================= インストール 2 パッケージ 総ダウンロード容量: 86 M インストール済み容量: 117 M これでいいですか? [y/N] ~省略~ インストール: rundeck.noarch 0:2.5.3-1.10.GA 依存性関連をインストールしました: rundeck-config.noarch 0:2.5.3-1.10.GA 完了しました!
## Configure
# cp -a /etc/rundeck/rundeck-config.properties /etc/rundeck/rundeck-config.properties.org # vi /etc/rundeck/rundeck-config.properties #grails.serverURL=http://localhost:4440 grails.serverURL=http://SERVER_DOMAIN_OR_IP:4440 grails.mail.host=localhost grails.mail.port=25 grails.mail.default.from=root@ホスト名.localdomain
## Service Start
# /etc/init.d/rundeckd start
※環境により、数十秒~数分掛かる。ログに以下が出力されれば起動処理終了。
# tail -f /var/log/rundeck/service.log ~省略~ 2015-09-24 11:39:23.814:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:4440
ブラウザで http://SERVER:4440/ にアクセスして、ログイン画面が表示されることを確認。
初期から存在するユーザーは「admin / admin」。
## User setting
Rundeckにログインするユーザーの設定ファイルは「/etc/rundeck/realm.properties」。
書式は、以下のとおり。
# The format is # <username>: <password>[,<rolename> ...] admin:admin,user,admin,architect,deploy,build
パスワード(password)は平文でも記述できるが、MD5などハッシュ化して記述を推奨。
以下、ユーザー:admin、パスワード:adminのパスワードのMD5ハッシュを求める処理。
1. Rundeckのドキュメントにのっている方法。
バージョンによってjettyへのパスが異なるので注意。
# java -cp /var/lib/rundeck/bootstrap/jetty-all-7.6.0.v20120127.jar org.eclipse.jetty.util.security.Password admin admin admin OBF:1u2a1toa1w8v1tok1u30 MD5:21232f297a57a5a743894a0e4a801fc3 CRYPT:adpexzg3FUZAk
2. md5sum (1)
read:で入力待ちとなるので、adminと入力してenter。
# bash -c 'read -sp "read: " password && echo -n $password | md5sum' read: 21232f297a57a5a743894a0e4a801fc3 -
3. md5sum (2)
「-n」を忘れると別物になるので注意。
# echo -n "admin" | md5sum 21232f297a57a5a743894a0e4a801fc3 -
設定ファイルへの記述方法
admin:MD5:21232f297a57a5a743894a0e4a801fc3,user,admin,architect,deploy,build
## SSH Key
任意のSSH Keyを設定する場合は、事前に登録と設定が必要。
パスフレーズはないほうが設定は簡単。ある場合、Jobは設定できるが、Commandは設定できない。
その他、制限があるのでパスフレーズ無しが無難。
Rundeck ドキュメント (2.5.3) ユーザーマニュアル プラグイン
http://rundeck.org/docs/jp/manual/08-plugins.html#ssh-%E7%A7%98%E5%AF%86%E9%8D%B5%E3%83%91%E3%82%B9%E3%83%95%E3%83%AC%E3%83%BC%E3%82%BA%E3%81%AE%E8%A8%AD%E5%AE%9A
### Add or Upload a Key
Configure(右上の歯車)→ Key Strage → Add or Upload a Key
から任意のSSH KeyをRundeckに登録する。
登録する方法はファイルのアップロードか、テキストのコピー&ペーストで。
### SSH Key Storage Path
Projectのconfigureを開き、SSH Key Strage Pathに上記で登録したSSH Keyを設定することで、ProjectのデフォルトのSSH Keyに設定される。
### sshKeyPassphrase
※SSH Keyにパスフレーズを設定していない場合はこの設定は不要。
Jobの設定画面からOptionsのAdd an optionを押下。
- Option Nameに「sshKeyPassphrase」
- Default Valueにパスフレーズ
- RequiredをYes
に設定。
## How To UseEdit
### Project
Jobをまとめる入れ物。複数Jobの共通設定なども行う。
各Jobがsshやscpで使用する鍵ファイルは、デフォルトは「/var/lib/rundeck/.ssh/id_rsa」が定義されているので、
コマンドを実行したいサーバー(Nodes)の任意のユーザーに鍵を登録しておく必要がある。
または、別途サーバーに用意している鍵を使用する場合はその鍵をRundeckに登録して指定する。
デフォルトの鍵、任意に追加した鍵の両方が設定されている場合は、任意に追加した鍵が使用される。
### Jobs
Cronに定義するイメージで、スクリプトやコマンドを指定日時、指定間隔で実行する定義を行う。
「Send Notification?」の定義で、Jobの実行時、終了時、エラー時などに指定のメールアドレスにメールを送信できる。
「Schedule to run repeatedly?」の定義でスケジュール実行を定義する。
### Nodes
Jobの実行対象のサーバーを登録する。
各サーバーの最初の登録は対象ファイルに手書きで登録する必要がある。
/var/rundeck/projects/pj001/etc/resources.xml
<project> <node name="adm01" description="Rundeck server node" tags="adm" hostname="adm01" osArch="amd64" osFamily="unix" osName="Linux" osVersion="2.6.32-504.3.3.el6.x86_64" username="webmaster"/> </project>
usernameを指定すれば、SSHログインのユーザーとなる(※SSH鍵とセットになる必要がある)。
os~はなくても良い。
tagsはJobやCommand実行時のフィルタリングに便利。
Nodesをクリックして一覧を開いたときに赤文字で「server」と書かれているのがRundeckのサーバーとなる。
### Commands
Nodeの中の指定のサーバーに任意のコマンドを実行する。
e.g. Commandに「date」Nodesに「.*(All)」を設定してRun on n Nodesを押下すると、Nodeのすべてのサーバーの現在時刻取得。
### Activity
JobやCommandの実行結果が確認できる。
一覧からJobやCommandを選択すると詳細画面に移行し、ReportやLogの確認、再実行(Run Again)などの操作が行える。
## 関連サイト
Getting Started:
http://rundeck.org/docs/manual/getting-started.html
Rundeck ドキュメント
http://rundeck.org/docs/jp/index.html
## おまけ
# rd-jobs list -f /mnt/addVol/backup/rundeck/jobs.xml -p ikt ERROR BaseFormAuthenticator: Form-based auth failed Error: Error making server request to http://localhost:4440: Unable to authenticate user: admin
# vi /etc/rundeck/framework.properties framework.server.password = admin