インフラ勉強会で知った rundeck を本気で業務に取り入れるべく勉強中
context-variables 予約語?予約変数?
デフォルトで用意される変数がある。
${job.id}
${job.name}
${node.hostname}
など
カスタム変数
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
が連続コマンド叩きづらいとこが難点だけど・・まあ仕方ない。