結論
1. 「ノード」の設定(追加)を行う
まずは追加です。
2. ノードを追加する際に「新しいリソースモデルソースを追加」では「File」を選択する
以下の画像をご参照ください。
3. まずは雛形ファイルを作ってしまう
- 以下の画像をご参照ください
- 後から手動で作ることも可能ですがいろいろ面倒なのでここで雛形を作ったほうが良いかと思います
- ファイルのフォーマットは XML と JSON と YAML が選べますが、ここでは YAML を選んでいます
- この雛形ファイル内で最上位階層のキー名は 必ず変更する必要があります *1
- 「5.」でも触れます
4. GUI の編集画面に遷移する
- CLI から編集できますが、GUI からも編集できる(
Edit Nodes File
をクリック)のでその方が楽だと思います - 以下の画像をご参照ください
5. 設定ファイルに SSH先 と 鍵 を記載する(注意点あり)
- 最上位階層のキー名をデフォルトのものから任意の名称に必ず変更して下さい
- 変更しないとノードのリストに現れません
- 変更しない場合は強制的に localhost になるようです*2
hostname
に SSH先 を設定します- ひな形の
hostname
を削除することを忘れないでください(下記の例ではコメントアウトしています)
- ひな形の
ssh-key-storage-path
に SSH鍵 を設定します*3storage-path
という文字列が含まれてあることから分かるように、この設定名を用いる場合は Rundeck の鍵管理システムを利用する場合です- 単純に任意の場所に置いた鍵を指定する方法や パスワードでログインする方法の場合は異なる設定をする必要があります
- 詳しくは こちらの公式ドキュメント をご参照ください
- 具体的には以下のようになります
af1e1b85e098: nodename: af1e1b85e098 # hostname: af1e1b85e098 osVersion: 4.9.125-linuxkit osFamily: unix osArch: amd64 description: Rundeck server node osName: Linux username: rundeck tags: '' hostname: 123.123.123.123 ssh-key-storage-path: keys/FOOBAR_KEY
6. ジョブの設定において当該「ノード」を割り当てる
- ジョブの設定項目に「ノード」というものがあります
- その設定にて「ノードに割り当てる」を選択し、ノードの
name:
に、先ほど書いた設定ファイルの設定名(キーバリューの組み合わせのうち、ルートにあるキーの名前)を指定します- ノードをフィルタリングしたあとに指定したいノードをクリックします
- フィルタリングの際の書式は純粋な正規表現です
- ノードの詳細が表示されるので、詳細の最上部にある「→」のアイコンをクリックすると指定できます
- ノードをフィルタリングしたあとに指定したいノードをクリックします
- 以下の画像をご参照ください、
7. ジョブを実行する
ここまでの設定が正しければ、SSH先 でジョブを実行することが可能になっているはずです。
備考
ノードの設定ファイルは一つのディレクトリに放り込んでおき、Add source
の項目で Directory
を選ぶと楽かと思います。
補足
Rundeck 3 については粒度を細かくして記事にしているので、他の記事 も参考にするとよいかもしれません。
あと、困ったら何はともあれ 公式ドキュメント です。