4.4. ブローカーのストレージ要件の設定
Operator ベースのブローカーデプロイメントで永続ストレージを使用するには、デプロイメントの作成に使用されるカスタムリソース (CR) インスタンスで persistenceEnabled
を true
に設定します。OpenShift クラスターに Container-native ストレージがない場合、永続ボリューム (PV) を手動でプロビジョニングし、それらは Persistent Volume Claim (永続ボリューム要求、PVC) を使用して Operator で要求できるようにする必要があります。たとえば、永続ストレージを持つ 2 つのブローカーで構成されるクラスターを作成する場合は、2 つの PV が利用可能である必要があります。デフォルトでは、デプロイメントの各ブローカーには 2 GiB のストレージが必要です。ただし、ブローカーデプロイメントの CR を、各ブローカーに必要な PVC のサイズを指定するように設定できます。
初めて CR をデプロイする前に、ブローカーストレージサイズの設定をブローカーデプロイメントのメイン CR に追加する必要があります。すでに実行中のブローカーデプロイメントに設定を追加できません。
4.4.1. ブローカーのストレージサイズの設定
以下の手順では、ブローカーデプロイメントのカスタムリソース (CR) インスタンスを設定し、永続メッセージストレージ用に各ブローカーに必要な Persistent Volume Claim (永続ボリューム要求、PVC) のサイズを指定する方法を説明します。
初めて CR をデプロイする前に、ブローカーストレージサイズの設定をブローカーデプロイメントのメイン CR に追加する必要があります。すでに実行中のブローカーデプロイメントに設定を追加できません。
前提条件
- 最低でも AMQ Broker 7.7 の Operator の最新バージョン (バージョン 0.17) を使用する必要があります。Operator を AMQ Broker 7.9 の最新バージョンにアップグレードする方法については、6章Operator ベースのブローカーデプロイメントのアップグレード を参照してください。
- CR インスタンスを使用して基本的なブローカーデプロイメントを作成する方法を理解する必要があります。「基本的なブローカーインスタンスのデプロイ」 を参照してください。
永続ボリューム (PV) がすでにプロビジョニングされ、それらを Operator で要求できるように利用可能にする必要があります。たとえば、永続ストレージを持つ 2 つのブローカーのクラスターを作成する場合は、2 つの PV が利用可能である必要があります。
永続ストレージのプロビジョニングの詳細は、以下を参照してください。
- 永続ストレージについて (OpenShift Container Platform 4.5)
手順
ブローカーデプロイメントのカスタムリソース (CR) インスタンスの設定を開始します。
OpenShift コマンドラインインターフェースの使用:
デプロイメントを作成するプロジェクトに CR をデプロイする権限を持つユーザーとして OpenShift にログインします。
oc login -u <user> -p <password> --server=<host:port>
-
ダウンロードした Operator インストールアーカイブの
deploy/crs
ディレクトリーに含まれるbroker_activemqartemis_cr.yaml
というサンプル CR ファイルを開きます。
OpenShift Container Platform Web コンソールの使用
- デプロイメントを作成するプロジェクトに CR をデプロイする権限を持つユーザーとしてコンソールにログインします。
- メインブローカー CRD に基づいて新規 CR インスタンスを起動します。左側のペインで、Administration → Custom Resource Definitions をクリックします。
- ActiveMQArtemis CRD をクリックします。
- Instances タブをクリックします。
Create ActiveMQArtemis をクリックします。
コンソールで、YAML エディターが開き、CR インスタンスを設定できます。
基本的なブローカーデプロイメントの場合、設定が以下のように表示される可能性があります。この設定は、
broker_activemqartemis_cr.yaml
サンプル CR ファイルのデフォルトコンテンツです。apiVersion: broker.amq.io/v2alpha4 kind: ActiveMQArtemis metadata: name: ex-aao application: ex-aao-app spec: version: 7.9.3 deploymentPlan: size: 1 image: placeholder requireLogin: false persistenceEnabled: true journalType: nio messageMigration: true
broker_activemqartemis_cr.yaml
サンプル CR ファイルで、image
プロパティーがplaceholder
のデフォルト値に設定されていることを確認します。この値はデフォルトで、image
プロパティーによってデプロイメントに使用するブローカーコンテナーイメージが指定されていないことを示します。Operator が使用する適切なブローカーコンテナーイメージを判別する方法については、「Operator によるコンテナーイメージの選択方法」 を参照してください。ブローカーストレージ要件を指定するには、CR の
deploymentPlan
セクションで、Storage
セクションを追加します。size
プロパティーを追加し、値を指定します。以下に例を示します。spec: version: 7.9.3 deploymentPlan: size: 1 image: placeholder requireLogin: false persistenceEnabled: true journalType: nio messageMigration: true storage: size: 4Gi
storage.size
-
各ブローカー Pod が永続ストレージに必要な Persistent Volume Claim (永続ボリューム要求、PVC) のサイズ (バイト単位)。このプロパティーは、
persistenceEnabled
がtrue
に設定されている場合にのみ適用されます。指定する値には単位が含まれている必要があります。バイト表記 (K、M、G など)、または同等のバイナリー (Ki、Mi、Gi) をサポートします。
CR インスタンスをデプロイします。
OpenShift コマンドラインインターフェースの使用:
- CR ファイルを保存します。
ブローカーデプロイメントを作成するプロジェクトに切り替えます。
$ oc project <project_name>
CR インスタンスを作成します。
$ oc create -f <path/to/custom_resource_instance>.yaml
OpenShift Web コンソールの使用
- CR の設定が完了したら、Create をクリックします。