HEARTBEATS

Rundeck こういうことってできるの?集

   

こんにちは。斎藤です。

過日、本ブログにて Rundeck というジョブスケジューラを紹介しました(参考: 「Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう」)。それを通じて、主に社内で「こういったことってできるの?」という話がいくつかあがってきました。

今回は Rundeck ができること、できないことを逆引き的にまとめてみました。

※Rundeck は 2.4.0 を基に説明しています。

※増えるようでしたら随時追記します。

1回限りのスケジュール実行はできるの?

はい、できます。

スケジュールに、年・月・日・時・分・秒を設定します。 Rundeck の時刻設定方法はcronと近いのですが、最小の単位は分から秒、最大の単位も年にまで広がっています。そのため、年まで設定することで1回だけのスケジューリングが可能になっています。

使い終わったら、誤って手動実行しないよう Job 自体を削除しておくと良いでしょう。

参考: Quartz Scheduler | Documentation | Quartz 1.x Tutorials: crontrigger

実行の並列度は制御できるの?

Jenkinsのような、1サーバで同時実行可能なジョブ数を絞ることはできません。

実行時間の実績を見ながらジョブのスケジュールを計画するか、ジョブを直列に実行するよう設定するとよいはずです。

なお、1つのジョブを重複実行しないよう設定することが可能です。

参考: Rundeck Documentation (2.4.0) - Jobs - Multiple Executions

対象ホストの追加はどのように行うの?

RHEL, CentOS でyumを利用してインストールした場合、次のディレクトリにホスト定義が保存されています。

  • /var/rundeck/projects/[プロジェクト名]/etc/resources.xml

このファイルを、以下の通り書き足します(+が書いてある所が追加行です)。

  <?xml version="1.0" encoding="UTF-8"?>

  <project>
      <node name="localhost" description="Rundeck server node" tags="" hostname="localhost" osArch="amd64" osFamily="unix" osName="Linux" osVersion="2.6.32-279.14.1.el6.x86_64" username="rundeck"/>
+     <node name="ホスト名" description="ホストの説明" tags="" hostname="接続先アドレス" username="接続時のユーザ名" />
  </project>

その後、接続先のサーバにて、Rundeck が用意しているSSH鍵でログインできるように設定しておきます。

参考: Rundeck Documentation (2.4.0) - RESOURCE-XML, Rundeck Administrator Guide - Project Setup - Project Nodes

おわりに

社内でソフトウェアの利用・開発を通じて自動化を推進する担当(基盤開発担当)になって2年余立ちました。その際、網羅的なドキュメントだけだと理解に時間がかかって辛い、という指摘を受けることがあります。また、当社のような多種多様なお客様のITインフラをお預かりする環境ですと、とっかかりを理解するための"Getting Started"では包含できない使い方がどうしても出てきてしまいます。その度に、利用者が困ってドキュメントを読み解くか、基盤開発担当が質問を受けることになります。

そんな中で、一問一答の逆引きリファレンスを徐々に整備してみてはどうか、という話を基盤開発担当で議論・整備を進めている所です。皆さんの会社では、普及の際にどのようなハードルがあり、どのように越えられていらっしゃるでしょうか。

それでは皆様、ごきげんよう。