LoginSignup
1
1

More than 5 years have passed since last update.

はじめてのrundeck

Last updated at Posted at 2018-03-07

インフラ勉強会で知った rundeck を本気で業務に取り入れるべく勉強中

https://wiki.infra-workshop.tech/%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%83%AD%E3%82%B0/2018/02/10/%E3%82%B8%E3%83%A7%E3%83%96%E7%AE%A1%E7%90%86%E3%81%A7cron%E3%81%AF%E9%99%90%E7%95%8C%E3%81%8C%E3%81%82%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%A7Rundeck%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%8F%E3%83%83%E3%83%94%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F

context-variables 予約語?予約変数?

デフォルトで用意される変数がある。

${job.id} 
${job.name}
${node.hostname}
など

http://rundeck.org/docs/manual/jobs.html#context-variables

カスタム変数

Options を使う。

VAR=123

Option Name: VAR
Default Value: 123 

になるみたい。よくわかってない。どうやってdefault value上書きするんだろ。

ただ、使い方が謎。

Usageには3つの使い方が載ってて

$RD_OPTION_VAR
${option.var}
@option.var@ 

とある。

これ command(1行ワンライナーbash) ではうまくいくけど、複数行のscriptだと挙動がおかしい。

早速emailっぽく @ とつなげようとしたらどれも使えなかった。

echo "hoge@@node.hostname@@"

syntax errorになるみたい。escape?の方法はmanual流し読みしても触れてない気がした。

http://rundeck.org/2.0.0/manual/job-options.html#using-secure-options-with-job-references

結局こうした。これ、全部のstepに書かないといけないの・??

HOSTNAME=@node.hostname@
echo "hoge@$HOSTNAME"

冗長化

swarmとかkubeだとデータの変化についていけないし、lsyncサービス立ち上げるのもアレなのでこれはどうだろう。

rundeckの簡単冗長化(コールドスタンバイ)思いついた。webをhaproxyで2台backendにしといて、zabbixのシナリオコケたらactionでrsyncしてupする。resolveしたら同じくactionでdownさせる。slaveのlogは捨ててok. いいんじゃないか??

設定のgit管理

これから考える。ヒントある人、教えて。

docker連携

nodeを登録してそこで実行させれば ssh いらずで直 docker exec 叩ける。便利。

あとは docker exec が連続コマンド叩きづらいとこが難点だけど・・まあ仕方ない。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1