2.5. Operator デプロイメントノート
このセクションでは、Operator ベースのデプロイメントを計画する際の重要な考慮事項について説明します。
- AMQ Broker Operator に付随するカスタムリソース定義 (CRD) をデプロイするには、OpenShift クラスターのクラスター管理者権限が必要です。Operator がデプロイされると、管理者以外のユーザーは対応するカスタムリソース (CR) を使用してブローカーインスタンスを作成できます。通常ユーザーが CR をデプロイできるようにするには、クラスター管理者はまずロールおよびパーミッションを CRD に割り当てる必要があります。詳細は、OpenShift Container Platform ドキュメントの「カスタムリソース定義のクラスターロールの作成」を参照してください。
- 最新の Operator バージョンの CRD を使用してクラスターを更新する場合、今回の更新はクラスターのすべてのプロジェクトに影響を与えます。以前のバージョンの Operator からデプロイされたブローカー Pod は、それらのステータスを更新できなくなる可能性があります。OpenShift Container Platform Web コンソールで実行中のブローカー Pod の Logs タブをクリックすると、「UpdatePodStatus」が失敗したことを示すメッセージが表示されます。ただし、そのプロジェクトのブローカー Pod および Operator は予想通りに機能し続けます。影響を受けるプロジェクトに対してこの問題を解決するには、Operator の最新バージョンを使用するようプロジェクトをアップグレードする必要もあります。
複数のカスタムリソース(CR)インスタンスをデプロイして、特定の OpenShift プロジェクトに複数のブローカーデプロイメントを作成できますが、通常、プロジェクトに単一のブローカーデプロイメントを作成してから、アドレスに複数の CR インスタンスをデプロイします。
Red Hat は、個別のプロジェクトで デプロイメントを作成することをお勧めします。
永続ストレージでブローカーをデプロイし、OpenShift クラスターに Container-native ストレージがない場合、永続ボリューム (PV) を手動でプロビジョニングし、それらが Operator で要求できるようにする必要があります。たとえば、永続ストレージ (CR に
persistenceEnabled=true
) を使用して 2 つのブローカーで構成されるクラスターを作成する場合は、永続ボリュームを 2 つ利用可能にしておく必要があります。デフォルトでは、各ブローカーインスタンスには 2 GiB のストレージが必要です。CR に
persistenceEnabled=false
を指定した場合、デプロイされたブローカーは 一時 ストレージを使用します。一時ストレージは、ブローカー Pod を再起動するたびに、既存のデータが失われることを意味します。OpenShift Container Platform での永続ストレージのプロビジョニングについての詳細は、以下を参照してください。
- 永続ストレージについて (OpenShift Container Platform 4.5)
CR を初めてデプロイする前に、一覧表示されている項目の設定をメインブローカー CR インスタンスに追加する必要があります。これらのアイテムの設定をすでに実行中のブローカーデプロイメントに追加することはできません。
次のセクションの手順では、Operator をインストールし、カスタムリソース (CR) を使用して OpenShift Container Platform でブローカーデプロイメントを作成する方法を説明します。この手順を正常に完了したら、Operator が個別の Pod で実行されます。作成する各ブローカーインスタンスは、Operator と同じプロジェクトの StatefulSet の個別の Pod として実行されます。その後、専用のアドレス CR を使用してブローカーデプロイメントでアドレスを定義する方法を確認できます。