この章は、Rundeck を新しく始めるユーザに向けたものです。基本的な項目の説明から始め、Rundeck の本質的な概念と用語を抑え、インストール方法、セットアップと進んでいきます。本章を読み終える頃には、Rundeck とは何か、どのように使うのか、どのようにセットアップするのかについて理解しているはずです。
Rundeck を開発する動機やコアとなったコンセプトがあります。あなたがこれから Rundeck を使い始めるところならば、それらのコンセプトについて知っておくと Rundeck を使う際やあなたの環境へ Rundeck を導入する際に役立つでしょう。
Rundeck は コマンドディスパッチング という概念をサポートしています。これはあるひとまとまりのアクション(コマンドと呼ばれる)を指定して、それを分散実行する際に用いられます。
コマンドディスパッチャ は、指定したフィルタリング基準を満たすノードリソースを探してコマンドを分散実行する、Rundeck 内部のメカニズムです。コマンドはノードリソースの情報を含む、あるデータコンテキスト内で実行されます。コマンドディスパッチャはノードのフィルタリングに加え、並列実行・実行順序のコントロール・エラーハンドリングのためパラメータをオプションとして利用できます。
コマンドディスパッチャは2種類のコマンド実行方法をサポートしています。
コマンドディスパッチャは GUI と CUI の両方から扱えます。
また、コマンドディスパッチャの全機能へアクセスできる Web API を使う事も出来ます。( Rundeck API を参照)
コマンドディスパッチャはリソースモデルと合わせて使うことで動作します。Rundeck ではあなたのネットワークに置かれたホストを リソースモデル として表現します。ノード は、あるリソース(ネットワークアクセスが可能なホストの物理マシンまたは仮想インスタンス)を指します。
ノードは多くの基本的なプロパティを持っています。さらに、任意の名前を付けたキーバリューペアを追加することでプロパティを拡張することも可能です。
複数のソースからリソースモデルのデータを取得して格納するよう Rundeck を設定することができます。また、複数のソースから簡単に取り込めるよう、それぞれにリソースモデルドキュメントフォーマットを定義できます。
リソースモデルのデータソースは、ローカルファイルでも、リモートでアクセス可能なサービスから取ってくるものでも大丈夫です。 URL リソースモデルソース とは、HTTP の GET メソッドでアクセスすると Rundeck がサポートするリソースモデルのドキュメントフォーマットでデータを返してくれる外部サービスを意味しています。
Rundeck では現在ドキュメントフォーマットとして XML と YAML が使えます。リソースモデルドキュメントフォーマットを参照してください。
どのプロジェクトも複数のリソースモデルソースを持つように設定することが可能です。リソースモデルソースを参照してください。
Rundeck は「users」グループに対してある決まった権限を付与する アクセスコントロールポリシー を適用します。コマンドディスパッチャによって実行される全てのアクションは、アクセスコントロールポリシーの条件を満たしている必要があります。
Rundeck は、ポリシー定義を配慮してくれるため、あるユーザー達には一部のアクションのみ使用させるよう制限する等、ロールに基づく権限を定義できます。これによりセルフサービス型のインターフェイス(何人かのユーザーは、実行が許されたアクションのセットのみにアクセスできる)を可能にします。
参照:権限の付与
プロジェクト はプロジェクト管理業務を遂行するためのスペースを提供します。(プロジェクトごとに権限やジョブを管理できるということです)Rundeck で起きる全てのアクティビティは何れかのプロジェクトに関連しています。各プロジェクトは、それぞれリソースモデルと保存されたジョブを持っています。
同じサーバーで複数のプロジェクトを扱うことができます。プロジェクトはそれぞれ独立しているので、一つの Rundeck で互いに無関係なシステムを管理することができます。これは異なるインフラを管理するのに役立ちます。
より詳細なインストール方法については、管理者向けマニュアルのインストール方法の章を参照してください。
最も簡単なインストール方法は、jar ファイルを起動することです。jar ファイルをダウンロードしてきて、RD_BASE
ベースディレクトリにする予定のところに置いてください。
java を使用して jar ファイルを実行することにより Rundeck サーバーを起動します:
java -jar rundeck-launcher-1.4.1.jar
旧バージョンからのアップグレードを行う場合は、Rundeck アップグレードガイドを参照してください。
Rundeck は様々なユーザー管理形式をサポートしています。デフォルトではファイルベースのユーザーリストを使用しますが、LDAP と連携させることも可能です。管理者向けマニュアル - 認証 を参照してください。
Rundeck をインストールすると、使い始めるのに役立つテンポラリのログインユーザーが定義されます。
user
: コマンドやジョブの実行はできますが、ジョブ定義は編集できません。パスワードは "user" です。admin
: "admin" グループに属しており、自動的に "admin" および "user" というロール権限が付与されています。パスワードは "admin" です。RPM パッケージを使って Rundeck をインストールした場合は、"rundeck" という UNIX グループが作られているでしょう。
$ groups rundeck
rundeck : rundeck
また、いくつかのログファイルが "rundeck" のグループメンバーに対して書き込み可能にされています。
$ ls -l /var/log/rundeck/command.log
-rw-rw-r-- 1 rundeck rundeck 588 Dec 2 11:24 /var/log/rundeck/command.log
Rundeck シェルツールを使用したい場合は、それが必要なユーザーアカウントに "rundeck" グループを必ず追加してください。
"rundeck" グループに属さないユーザが Rundeck シェルツールを使用すると、このようなエラーメッセージが出ます:
$ rd-jobs
log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: /var/log/rundeck/command.log (Permission denied)
usermod コマンドを参考にして、ユーザーアカウントを編集してください。
あなたはもう Rundeck の必要最低限な事柄については理解しているはずです。きちんと動作するバージョンの Rundeck があり、ログインが出来るようになっているでしょう。次は Rundeck の基本を学んでいきます。