# 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 # : [, ...] 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 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