3.2.2. CLI を使用した Operator のデプロイ
本セクションの手順では、OpenShift コマンドラインインターフェース (CLI) を使用して、OpenShift プロジェクトに最新バージョンの Operator for AMQ Broker 7.9 をデプロイする方法を説明します。
前提条件
- Operator デプロイメントのために OpenShift プロジェクトを準備している必要があります。「Operator コードの取得」 を参照してください。
- AMQ Broker 7.3 以降では、新しいバージョンの Red Hat Ecosystem Catalog を使用してコンテナーイメージにアクセスします。この新しいバージョンのレジストリーでは、イメージにアクセスする前に認証されたユーザーである必要があります。本セクションの手順を実行する前に、「Red Hat Container Registry Authentication」で説明されている手順を完了する必要があります。
永続ストレージでブローカーをデプロイし、OpenShift クラスターに Container-native ストレージがない場合、永続ボリューム (PV) を手動でプロビジョニングし、これらが Operator で要求できるようにする必要があります。たとえば、永続ストレージ (Custom Resource に
persistenceEnabled=trueを設定して) とともに 2 つのブローカーで構成されるクラスターを作成する場合は、2 つの PV が利用可能である必要があります。デフォルトでは、各ブローカーインスタンスには 2 GiB のストレージが必要です。カスタムリソースで
persistenceEnabled=falseを指定した場合、デプロイされたブローカーは一時ストレージを使用します。一時ストレージは、ブローカー Pod を再起動するたびに、既存のデータが失われることを意味します。永続ストレージのプロビジョニングの詳細は、以下を参照してください。
- 永続ストレージについて (OpenShift Container Platform 4.5)
手順
OpenShift コマンドラインインターフェース (CLI) で、クラスター管理者として OpenShift にログインします。以下に例を示します。
oc login -u system:admin
$ oc login -u system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator デプロイメント用に以前に準備したプロジェクトに切り替えます。以下に例を示します。
oc project <project_name>
$ oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以前の手順で Operator インストールアーカイブを展開する際に作成されたディレクトリーに移動します。以下に例を示します。
cd ~/broker/operator/amq-broker-operator-7.9.3-ocp-install-examples
$ cd ~/broker/operator/amq-broker-operator-7.9.3-ocp-install-examplesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator に含まれる CRD をデプロイします。Operator をデプロイし、起動する前に CRD を OpenShift クラスターにインストールする必要があります。
メインブローカー CRD をデプロイします。
oc create -f deploy/crds/broker_activemqartemis_crd.yaml
$ oc create -f deploy/crds/broker_activemqartemis_crd.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow アドレス CRD をデプロイします。
oc create -f deploy/crds/broker_activemqartemisaddress_crd.yaml
$ oc create -f deploy/crds/broker_activemqartemisaddress_crd.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow スケールダウンコントローラー CRD をデプロイします。
oc create -f deploy/crds/broker_activemqartemisscaledown_crd.yaml
$ oc create -f deploy/crds/broker_activemqartemisscaledown_crd.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Ecosystem Catalog での認証に使用されるアカウントに関連付けられたプルシークレットを、OpenShift プロジェクトの
default、deployer、およびbuilderサービスアカウントにリンクします。oc secrets link --for=pull default <secret_name> oc secrets link --for=pull deployer <secret_name> oc secrets link --for=pull builder <secret_name>
$ oc secrets link --for=pull default <secret_name> $ oc secrets link --for=pull deployer <secret_name> $ oc secrets link --for=pull builder <secret_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ダウンロードした Operator アーカイブの
deployディレクトリーで、operator.yamlファイルを開きます。以下のように、spec.containers.imageプロパティーの値が Operator のバージョン 7.9.3-opr-3 に対応していることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記operator.yamlファイルでは、Operator は Secure Hash Algorithm (SHA) 値で表されるイメージを使用します。数字記号 (#) 記号で始まるコメント行は、SHA 値が特定のコンテナーイメージタグに対応していることを示します。オプションで
operator.yamlファイルのWATCH_NAMESPACEセクションを編集して、Operator が監視する名前空間を決定します。Operator をデプロイしてアクティブな名前空間を監視するには、このセクションは編集しないでください。
- name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace- name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator をデプロイしてすべての名前空間を監視する方法:
- name: WATCH_NAMESPACE value: '*'
- name: WATCH_NAMESPACE value: '*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator をデプロイして複数の名前空間(例:
namespace1とnamespace2)を監視する方法:- name: WATCH_NAMESPACE value: 'namespace1,namespace2'
- name: WATCH_NAMESPACE value: 'namespace1,namespace2'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記以前のバージョンの Operator を使用してブローカーをデプロイし、Operator をデプロイして多くの名前空間を監視する場合は、アップグレードする前にを参照してください。
Operator をデプロイします。
oc create -f deploy/operator.yaml
$ oc create -f deploy/operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift プロジェクトで、Operator は新規 Pod で起動します。
OpenShift Container Platform Web コンソールで、Operator Pod の Events タブにある情報により、OpenShift が指定した Operator イメージがデプロイされ、新規コンテナーが OpenShift クラスターのノードに割り当てられ、新規コンテナーが起動されていることを確認します。
さらに、Pod 内の Logs タブをクリックしても、出力には、以下のような行が含まれるはずです。
... {"level":"info","ts":1553619035.8302743,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemisaddress-controller"} {"level":"info","ts":1553619035.830541,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemis-controller"} {"level":"info","ts":1553619035.9306898,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemisaddress-controller","worker count":1} {"level":"info","ts":1553619035.9311671,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemis-controller","worker count":1}... {"level":"info","ts":1553619035.8302743,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemisaddress-controller"} {"level":"info","ts":1553619035.830541,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"activemqartemis-controller"} {"level":"info","ts":1553619035.9306898,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemisaddress-controller","worker count":1} {"level":"info","ts":1553619035.9311671,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"activemqartemis-controller","worker count":1}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の出力では、新たにデプロイされた Operator が Kubernetes と通信していること、ブローカーおよびアドレス指定のコントローラーが実行されていることと、これらのコントローラーが一部のワーカーを起動していることを確認します。
所定の OpenShift プロジェクトに AMQ Interconnect Operator の 単一のインスタンス のみをデプロイすることが推奨されます。Operator デプロイメントの spec.replicas プロパティーを 1 より大きい値に設定し、同じプロジェクトで Operator を複数回デプロイしたりすることは推奨されません。
関連情報
- OperatorHub グラフィカルインターフェースを使用する AMQ Broker Operator の代替方法については、「OperatorHub を使用した Operator のインストール」 を参照してください。