2.2. カスタムリソース定義の概要

通常、カスタムリソース定義 (CRD) は、Operator でデプロイされたカスタム OpenShift オブジェクトのスキーマです。付随するカスタムリソース(CR)ファイルを使用すると、CRD の設定アイテムの値を指定できます。Operator 開発者の場合、CRD を使用して公開する内容は基本的に、デプロイされたオブジェクトの設定および使用方法のために API になります。CRD は Kubernetes 経由で自動的に公開されるため、通常の HTTP curl コマンドを使用して CRD に直接アクセスできます。Operator は、HTTP 要求を使用して kubectl コマンド経由で Kubernetes と対話します。

メインブローカー CRD は、Operator のインストール時にダウンロードして抽出するアーカイブの deploy/crds ディレクトリーにある broker_v2alpha1_activemqartemis ファイルです。この CRD を使用すると、指定の OpenShift プロジェクトでブローカーデプロイメントを設定できます。deploy/crds ディレクトリーの他の CRD はアドレスを設定し、Operator がスケールダウンコントローラーをインスタンス化する際に使用するために使用されます。

デプロイされる場合、各 CRD は Operator 内で独立して実行される個別のコントローラーになります。

各 CRD の完全な設定リファレンスについては、以下を参照してください。

2.2.1. ブローカーカスタムリソースのサンプル

インストール時にダウンロードおよび抽出する AMQ Broker Operator アーカイブには、deploy/crs ディレクトリーにサンプル CR ファイルが含まれています。以下のサンプル CR ファイルでは、以下が可能になります。

  • SSL またはクラスタリングなしで最小ブローカーをデプロイします。
  • アドレスを定義します。

ダウンロードするブローカー Operator アーカイブには、以下に一覧表示されているように deploy/examples ディレクトリーにデプロイメントの CR が含まれます。

artemis-basic-deployment.yaml
基本ブローカーデプロイメント。
artemis-persistence-deployment.yaml
永続ストレージのあるブローカーデプロイメント。
artemis-cluster-deployment.yaml
クラスター化したブローカーのデプロイメント。
artemis-persistence-cluster-deployment.yaml
永続ストレージのあるクラスターブローカーのデプロイメント。
artemis-ssl-deployment.yaml
SSL セキュリティーを使用したブローカーデプロイメント。
artemis-ssl-persistence-deployment.yaml
SSL セキュリティーおよび永続ストレージを使用したブローカーデプロイメント。
artemis-aio-journal.yaml
ブローカージャーナルで非同期 I/O (AIO) の使用。
address-queue-create.yaml
アドレスおよびキューの作成。

以下のセクションでは、Operator、CRD、および一部の CR を使用して OpenShift Container Platform でコンテナーベースのブローカーデプロイメントを作成する方法を説明します。この手順を正常に完了したら、Operator が個別の Pod で実行されます。作成する各ブローカーインスタンスは、プロジェクトの Pod を含む個別の StatefulSet で実行されます。専用の CR を使用してブローカーデプロイメントでアドレスを定義します。

注記

複数のブローカー CR インスタンスをデプロイすることで、指定の OpenShift プロジェクトに複数のブローカーデプロイメントを作成することはできません。ただし、プロジェクトにブローカーデプロイメントを作成した場合は、アドレスに複数の CR インスタンスをデプロイできます