今回はRundeckのお話

この記事を読む およそ時間 2

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時前なので、次回の講釈に回そうと思います。

Related posts