Rundeckってなに?
簡単に言うと、タスクスケジューラーかな?cron的な動作もするので、consoleログインしなくてもRundeckがあれば、基本的にWebからゴリゴリやれるツールなのです。
簡単な構成図 汚い字だが、最近味があるなぁwww 超+思考w
こんなことをやると便利なツール
青の人は、管理者としましょう。AWSを例に取ってますが、EC2が数台から数十台並んでいるとしましょう。まあ、1台とかだとconsoleつなげばいいんですけどねぇ。まあ、複数台あるとして、全台でyum updateをかけないといけない要件が出てきました。
この場合、いつもの流れですと、1台consoleつないでシーケンシャルにやって行く方法が1つ、テラタームを複数起動して、ブロードキャストコマンドで一気に実施する方法がありますね。
ただ、前者は、確実にこなせますが、1000台あったらどうしましょうか?1台10分x1000台として、全部片付けるのに166.7時間≓7日程度かかる計算になります。それは、流石に1人じゃやってられないですよね。
じゃあ、どうする?
とりあえず、teratermを1000窓開くか!そんなのが開けるPC無いですよね?メモリーもそうだし、画面も窓を小さくしても、結局は1000窓なんて開けないですね。
そうだこんな時にRundeckでしょ!?
そうなんですよ。Rundeckって、Nodeを選択すると単一Nodeでも、処理を実行出来ますが、All Nodeにすると、全部のNodeに一斉にコマンドを流すことが可能なのです。厳密に言うとSSHでコマンドを投げていきますので、1つのタイムシェアリングを見ると1つのホストしか投げていないので、高速に処理するシーケンシャルとでも言いますか。人がやるよりよっぽど早いです。
インストール
ちゃちゃーとインストールしてしまいましょう。OSは、CentOS7.3 64Bit版を使用しています。図がわるく、rundeck,sh になってますが、体裁上実行権を付与していないので、適当で動くのです。
ちゃちゃーとシェル化して
コマンドを実行しますね。
3分もたたない間に、インストール完了 4440のリッスンしているのがRundeckです。
ログイン画面を見てみましょう
問題無くあがってきましたね。さっき流したスクリプトは夢の様なスクリプトですねぇ。
ログインIDとパスワードは、デフォルトでadmin/adminです。パスワード変更はWebから出来ないんですよ。この辺りは、リモートの接続方法の運用保守の所で詳しく掲載します。
ここまで来ると、概ね大丈夫ですね。
プロジェクトを作成して、必要なJobをつくって行く感じです。必要なのは、プロジェクト名とsshの鍵情報くらいです。後は、基本的にデフォルトでも動作するはず。
testプロジェクトが作成されました。
Jobをつくって行きましょう。
ここもJob名とWorkflow:command : date等入れるだけで、testとしては十分
test Jobできました。
Jobを動かして見ましょう
問題無くSucceededになって、ちゃんとdate文の情報が取れてきてることが確認出来ますね。これで、Webからサーバ内部に入らなくても、保守作業が出来る事が確認できました。
次は、リモート環境を今回立てたRundeckよりつついてみましょう。といいたい所ですが、もう26時前なので、次回の講釈に回そうと思います。