1.2. OpenShift 4.x での Fuse Console の設定
OpenShift 4.x では、Fuse Console の設定に、セキュリティーのセキュア化、インストール、およびデプロイが必要になります。
最初にクライアント証明書を生成して、「OpenShift 4.x で Fuse Console をセキュア化するための証明書の生成」 の説明どおりに Fuse Console をセキュリティー保護できるようにします。
クライアント証明書を生成した後に Fuse Console をインストールおよびデプロイする方法は複数あります。
「OperatorHub を使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ」
特定の namespace で Fuse アプリケーションにアクセスするために、Fuse Console Operator を使用して Fuse Console をインストールおよびデプロイします。
「コマンドラインを使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ」
OpenShift クラスターの複数の namespace または特定の namespace にある Fuse アプリケーションにアクセスするために、コマンドラインと Fuse Console テンプレートの 1 つを使用して Fuse Console をインストールおよびデプロイします。
「コマンドラインを使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ」 で説明されているように、コマンドラインオプションを使用して RBAC Fuse Console テンプレートのいずれかをインストールすると 、Fuse Console のロールベースアクセス制御 (RBAC) を実装することができます。
注記本リリースでは、operator を使用して Fuse Console をインストールした場合、RBAC はサポートされません。
1.2.1. OpenShift 4.x で Fuse Console をセキュア化するための証明書の生成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift 4.x で、Fuse Console プロキシーと Jolokia エージェントとの間の接続をセキュアにするには、Fuse Console をデプロイする前にクライアント証明書を生成する必要があります。サービス署名認証局の秘密鍵を使用して、クライアント証明書を署名する必要があります。
各 OpenShift クラスターに別のクライアント証明書を生成し、署名する必要があります。複数のクラスターに同じ証明書を使用しないでください。
前提条件
-
OpenShift クラスターにアクセス可能な
cluster admin
権限がある。 複数の OpenShift クラスターの証明書を生成し、現在のディレクトリーに別のクラスターの証明書を生成している場合は、以下のいずれかを実行して、現在のクラスターに別の証明書を生成するようにします。
-
現在のディレクトリーから既存の証明書ファイル (
ca.crt
、ca.key
、およびca.srl
) を削除します。 別の作業ディレクトリーに移動します。たとえば、現在の作業ディレクトリーの名前が
cluster1
の場合、新しいcluster2
ディレクトリーを作成し、作業ディレクトリーをそのディレクトリーに変更します。mkdir ../cluster2
cd ../cluster2
-
現在のディレクトリーから既存の証明書ファイル (
手順
cluster admin 権限を持つユーザーとして OpenShift にログインします。
oc login -u <user_with_cluster_admin_role>
oc login -u <user_with_cluster_admin_role>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、サービス署名認証局のキーを取得します。
以下を実行して、証明書を取得します。
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.crt']}" | base64 --decode > ca.crt
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.crt']}" | base64 --decode > ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を実行して、秘密鍵を取得します。
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.key']}" | base64 --decode > ca.key
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.key']}" | base64 --decode > ca.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Kubernetes certificates administration の説明にしたがって、
easyrsa
、openssl
、またはcfssl
を使用して、クライアント証明書を生成します。以下に、openssl を使用したコマンドの例を示します。
秘密鍵を生成します。
openssl genrsa -out server.key 2048
openssl genrsa -out server.key 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR 設定ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR を生成します。
openssl req -new -key server.key -out server.csr -config csr.conf
openssl req -new -key server.key -out server.csr -config csr.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 署名済みの証明書を発行します。
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000 -extensions v3_ext -extfile csr.conf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000 -extensions v3_ext -extfile csr.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
Fuse Console のインストール方法に応じて、以下のセクションの説明どおりに Fuse Console のシークレットを作成するには、この証明書が必要です。
1.2.2. OperatorHub を使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift 4.x に Fuse Console をインストールするには、OpenShift OperatorHub で提供される Fuse Console Operator を使用します。Fuse Console をデプロイするには、インストールされた Operator のインスタンスを作成します。
前提条件
-
OpenShift クラスターにアクセス可能な
cluster admin
権限がある。 - OpenShift 4.x で Fuse Console をセキュア化するための証明書の生成 の説明どおりに、Fuse Console のクライアント証明書が生成済みである必要があります。
手順
Fuse Console をインストールおよびデプロイするには、以下を行います。
-
Web ブラウザーで、
cluster admin
権限を持つユーザーとして OpenShift コンソールにログインします。 - Home > Projects と選択し、Fuse Console を追加するプロジェクトを選択します。
- Operators をクリックした後、OperatorHub をクリックします。
- 検索フィールドウインドウに Fuse Console と入力し、Operator のリストを絞り込みます。
- Fuse Console Operator をクリックします。
Fuse Console Operator インストールウィンドウで Install をクリックします。
Create Operator Subscription フォームが表示されます。
Install mode で、Fuse Console Operator を固有の namespace (現在の OpenShift プロジェクト) にインストールします。
operator のインストール後に、Fuse Console をデプロイして、クラスター上の全 namespace でアプリケーションを監視するか、Fuse Console operator がインストールされた namespace だけでアプリケーションを監視するかを選択できる点に注意してください。
Approval Strategy では、Automatic または Manual を選択し、Fuse Console の更新が OpenShift によってどのように対処されるかを設定します。
- Automatic (自動) 更新を選択した場合、新しいバージョンの Fuse Console Operator が使用できるようになると、人的な介入なしで OpenShift Operator Lifecycle Manager (OLM) によって、Fuse Console の稼働中のインスタンスが自動的にアップグレードされます。
- Manual (手動) 更新を選択した場合、Operator の新しいバージョンが使用できるようになると、OLM によって更新リクエストが作成されます。クラスター管理者は、更新リクエストを手動で承認して、Fuse Console Operator を新しいバージョンに更新する必要があります。
Subscribe をクリックします。
OpenShift によって、Fuse Console Operator が現在の namespace にインストールされます。
- インストールを確認するには、Operators をクリックした後、Installed Operators をクリックします。Operator のリストに Fuse Console が表示されます。
ターミナルウインドウで以下のコマンドを使用して、OpenShift 4.x で Fuse Console をセキュア化するための証明書の生成 で生成した証明書を使用してシークレットを作成し、Fuse Console にマウントします。コマンドの APP_NAME は、Fuse Console Deployment (例:
fuse-console
) の名前に置き換えます。oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば、Fuse Console アプリケーションの名前が fuse-console の場合は、以下のコマンドを入力します。
oc create secret tls fuse-console-tls-proxying --cert server.crt --key server.key
oc create secret tls fuse-console-tls-proxying --cert server.crt --key server.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの実行に成功すると、シークレットの作成を確認する以下のような応答が返されます。
secret/fuse-console-operator-tls-proxying created
secret/fuse-console-operator-tls-proxying created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Web コンソールで Fuse Console をデプロイするには、以下を行います。
- Installed Operators のリストで、Name 列の Fuse Console をクリックします。
Provided APIs の Overview ページで、Create Instance をクリックします。新しいカスタムリソース定義 (CRD) ファイルが表示されます。
デフォルトでは、Fuse Console は現在の namespace にデプロイされます。
Fuse Console をデプロイして現在の namespace でアプリケーションを検出して管理する場合には、次の手順に進んでください。
オプションで Fuse Console をデプロイしてクラスター上の (またはユーザー認証が済んでいる) 全 namespace でアプリケーションを検出して管理する場合には、
namespace
からcluster
にspec.type
フィールドの値を変更して、CRD ファイルを編集します。Create をクリックします。
Fuse Console のデプロイ後、Fuse Console CRD ページが開き、新しい Fuse Console サービスが表示されます。
Fuse 7.7.0 の場合、デプロイされた Fuse Console がしばらくすると不安定になり、Liveness Probe failed
というエラーが発生して停止と再起動が繰り返されることがあります。これは、Fuse Console Pod が OpenShift でのメモリー割り当てを越えることが原因です。
不安定な状態を修正するには、Fuse Console デプロイメントのメモリー制限を以下のように変更します。
-
oc rollout pause
コマンドを使用して、Fuse Console Pod の自動再デプロイメントを一時停止します。 -
Fuse Console のデプロイメント設定 (YAML ファイル) を編集して、メモリー割り当てを増やします。
containers:resources:limits:memory
フィールドとcontainers:resources:requests:memory
フィールドの値を 32 Mi から 100 Mi に変更します。 -
oc rollout resume
コマンドを使用して、Fuse Console Pod の自動再デプロイメントを再開します。
Fuse Console を開くには以下を行います。
namespace デプロイメントの場合は、OpenShift Web コンソールで、Fuse Console の operator をインストールしたプロジェクトを開き、Overview を選択します。Project Overview ページで Launcher セクションまで下方向にスクロールし、Fuse Console の URL をクリックして開きます。
cluster デプロイメントでは、OpenShift Web コンソールのタイトルバーで、グリッドアイコン (
) をクリックします。ポップアップメニューの Red Hat アプリケーション の下にある、Fuse Console の URL リンクをクリックします。
Fuse Console にログインします。
ブラウザーに Authorize Access ページが表示され、必要なパーミッションが表示されます。
Allow selected permissions をクリックします。
Fuse Console がブラウザーで開き、アクセス権限のある Fuse アプリケーション Pod が表示されます。
表示するアプリケーションの Connect をクリックします。
新しいブラウザーウィンドウが開かれ、Fuse Console にアプリケーションが表示されます。
1.2.3. コマンドラインを使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift 4.x では、次のデプロイメントオプションの 1 つを選択して、コマンドラインから Fuse Console をインストールおよびデプロイできます。
- cluster - Fuse Console は、OpenShift クラスターで複数の namespace (プロジェクト) 全体にデプロイされた Fuse アプリケーションを検索し、接続することができます。このテンプレートをデプロイするには、OpenShift クラスターの管理者ロールが必要です。
- ロールベースアクセス制御のあるクラスター - 設定可能なロールベースアクセス制御 (RBAC) のあるクラスターテンプレート。詳細は、OpenShift 4.x 上の Fuse Console のロールベースアクセス制御 を参照してください。
- namespace - Fuse Console は特定の OpenShift プロジェクト (namespace) にアクセスできます。このテンプレートをデプロイするには、OpenShift プロジェクトの管理者ロールが必要です。
- ロールベースアクセス制御のある namespace - 設定可能な RBAC のある namespace テンプレート。詳細は、OpenShift 4.x 上の Fuse Console のロールベースアクセス制御 を参照してください。
Fuse Console テンプレートのパラメーターリストを表示するには、以下の OpenShift コマンドを実行します。
oc process --parameters -f https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-namespace-os4.json
oc process --parameters -f https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-namespace-os4.json
前提条件
- Fuse Console をインストールおよびデプロイする前に、OpenShift 4.x で Fuse Console をセキュア化するための証明書の生成 の説明どおりに、サービス署名認証局で署名されたクライアント証明書を生成する必要があります。
-
OpenShift クラスターの
cluster admin
ロールが必要です。 - OpenShift 4.x サーバーでの Fuse イメージストリームおよびテンプレートのインストール の説明どおりに Fuse Console イメージストリーム (およびその他の Fuse イメージストリーム) がインストールされている必要があります。
手順
以下のコマンドを実行してすべてのテンプレートのリストを取得し、Fuse Console イメージストリームがインストールされていることを確認します。
oc get template -n openshift
oc get template -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 任意で、すでにインストールされているイメージストリームを新しいリリースタグで更新する場合は、以下のコマンドを使用して openshift namespace に Fuse Console イメージをインポートします。
oc import-image fuse7/fuse7-console:1.7 --from=registry.redhat.io/fuse7/fuse-console:1.7 --confirm -n openshift
oc import-image fuse7/fuse7-console:1.7 --from=registry.redhat.io/fuse7/fuse-console:1.7 --confirm -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、Fuse Console の APP_NAME の値を取得します。
oc process --parameters -f TEMPLATE-FILENAME
oc process --parameters -f TEMPLATE-FILENAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここで、
TEMPLATE-FILENAME
は以下のテンプレートのいずれかになります。クラスターテンプレート:
設定可能な RBAC のあるクラスターテンプレート:
namespace テンプレート:
設定可能な RBAC のある namespace テンプレート:
たとえば、設定可能な RBAC のあるクラスターテンプレートの場合は、以下のコマンドを実行します。
oc process --parameters -f https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-cluster-rbac.yml
oc process --parameters -f https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-cluster-rbac.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下のコマンドを使用して、OpenShift 4.x で Fuse Console をセキュア化するための証明書の生成 で生成した証明書からシークレットを作成し、Fuse Console にマウントします。コマンドの APP_NAME は、Fuse Console アプリケーションの名前に置き換えます。
oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、ローカルにコピーされた Fuse Console テンプレートをベースとした新しいアプリケーションを作成します。コマンドの myproject は OpenShift プロジェクトの名前、mytemp は Fuse Console テンプレートが含まれるローカルディレクトリーへのパス、myhost は Fuse Console にアクセスするホストの名前に置き換えます。
クラスターテンプレートの場合:
oc new-app -n myproject -f {templates-base-url}/fuse-console-cluster-os4.json -p ROUTE_HOSTNAME=myhost”
oc new-app -n myproject -f {templates-base-url}/fuse-console-cluster-os4.json -p ROUTE_HOSTNAME=myhost”
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RBAC テンプレートのあるクラスターの場合:
oc new-app -n myproject -f {templates-base-url}/fuse-console-cluster-rbac.yml -p ROUTE_HOSTNAME=myhost”
oc new-app -n myproject -f {templates-base-url}/fuse-console-cluster-rbac.yml -p ROUTE_HOSTNAME=myhost”
Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace テンプレートの場合:
{templates-base-url}/fuse-console-namespace-os4.json
{templates-base-url}/fuse-console-namespace-os4.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RBAC テンプレートのある namespace の場合:
oc new-app -n myproject -f {templates-base-url}/fuse-console-namespace-rbac.yml
oc new-app -n myproject -f {templates-base-url}/fuse-console-namespace-rbac.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Web コンソールを開くように Fuse Console を設定するには、以下のコマンドを実行して
OPENSHIFT_WEB_CONSOLE_URL
環境変数を設定します。oc set env dc/${APP_NAME} OPENSHIFT_WEB_CONSOLE_URL=`oc get -n openshift-config-managed cm console-public -o jsonpath={.data.consoleURL}`
oc set env dc/${APP_NAME} OPENSHIFT_WEB_CONSOLE_URL=`oc get -n openshift-config-managed cm console-public -o jsonpath={.data.consoleURL}`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、Fuse Console デプロイメントの状態と URL を取得します。
oc status
oc status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブラウザーから Fuse Console にアクセスするには、7. で返される URL (例: https://fuse-console.192.168.64.12.nip.io) を使用します。
1.2.3.1. OpenShift 4.x 上の Fuse Console のロールベースアクセス制御 リンクのコピーリンクがクリップボードにコピーされました!
Fuse Console は、OpenShift によって提供されるユーザー承認に応じてアクセスを推測する、ロールベースアクセス制御 (RBAC) を提供します。Fuse Console では、RBAC はユーザーが Pod で MBean 操作を実行できるかどうかを判断します。
OpenShift の承認に関する詳細は、OpenShift ドキュメントの RBAC の使用によるパーミッションの定義および適用 を参照してください。
Fuse Console のロールベースアクセスを実装する場合は、RBAC で設定可能なテンプレートの 1 つ (fuse-console-cluster-rbac.yml
または fuse-console-namespace-rbac.yml
) を使用して、コマンドラインを使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ の説明どおりに Fuse Console をインストールする必要があります。
本リリースでは、operator を使用して Fuse Console をインストールした場合、RBAC はサポートされません。
Fuse Console RBAC は、OpenShift の Pod リソースでユーザーの verb (動詞) アクセスを利用して、Fuse Console の Pod の MBean 操作にユーザーがアクセスできるかどうかを判断します。デフォルトでは、Fuse Console には 2 つのユーザーロールがあります。
admin
ユーザーが OpenShift で Pod を 更新 できる場合、ユーザーには Fuse Console の admin ロールが付与されます。ユーザーは、Fuse Console で、その Pod に対して 書き込み の MBean 操作を実行できます。
viewer
ユーザーが OpenShift で Pod を 取得 できる場合、ユーザーには Fuse Console の viewer ロールが付与されます。ユーザーは、Fuse Console で、その Pod に対して 読み取り専用 の MBean 操作を実行できます。
RBAC テンプレートを使用して Fuse Console をインストールしない場合、Pod リソースで update verb (動詞) が付与された OpenShift ユーザーのみが Fuse Console の MBeans 操作の実行が許可されます。Pod リソースで get verb (動詞) を付与されたユーザーは、Pod を 表示 できますが、Fuse Console の操作は実行できません。
1.2.3.2. OpenShift 4.x での Fuse Console のアクセスロールの判断 リンクのコピーリンクがクリップボードにコピーされました!
Fuse Console のロールベースアクセス制御は、Pod に対するユーザーの OpenShift パーミッションから推測されます。特定のユーザーに付与された Fuse Console のアクセスロールを判断するには、Pod に対してユーザーに付与された OpenShift パーミッションを取得します。
前提条件
- ユーザーの名前を知っている必要があります。
- Pod の名前を知っている必要があります。
手順
ユーザーが Pod に対して Fuse Console の admin ロールを持っているかどうかを確認するには、以下のコマンドを実行してユーザーが OpenShift で Pod を更新できるかどうかを確認します。
oc auth can-i update pods/<pod> --as <user>
oc auth can-i update pods/<pod> --as <user>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 応答が
yes
の場合、ユーザーはその Pod に対して Fuse Console の admin ロールを持っています。ユーザーは、Fuse Console で、その Pod に対して 書き込み の MBean 操作を実行できます。ユーザーが Pod に対して Fuse Console の viewer ロールを持っているかどうかを確認するには、以下のコマンドを実行してユーザーが OpenShift で Pod を取得できるかどうかを確認します。
oc auth can-i get pods/<pod> --as <user>
oc auth can-i get pods/<pod> --as <user>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 応答が
yes
の場合、ユーザーはその Pod に対して Fuse Console の viewer ロールを持っています。ユーザーは、Fuse Console で、その Pod に対して 読み取り専用 の MBean 操作を実行できます。コンテキストによっては、Fuse Console でオプションを無効にしたり、ユーザーによる 書き込み MBean 操作の試行時に "operation not allowed for this user" メッセージを表示したりして、viewer ロールを持つユーザーによる 書き込み MBean 操作が実行されないようにします。応答が
no
の場合、ユーザーは Fuse Console のロールにバインドされず、ユーザーは Fuse Console で Pod を確認できません。
1.2.3.3. OpenShift 4.x での Fuse Console へのロールベースアクセスのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
deployment-cluster-rbac.yml
および deployment-namespace-rbac.yml
テンプレートによって、設定ファイル (ACL.yml
) が含まれる ConfigMap が作成されます。設定ファイルでは、MBean 操作に許可されるロールが定義されます。
前提条件
Fuse Console の RBAC テンプレート (deployment-cluster-rbac.yml
または deployment-namespace-rbac.yml
) の 1 つを使用して、Fuse Console がインストール済みである必要があります。
手順
Fuse Console の RBAC ロールをカスタマイズする場合は、以下を行います。
以下のコマンドを実行して Config Map を編集します。
oc edit cm $APP_NAME-rbac
oc edit cm $APP_NAME-rbac
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。Fuse Console の Pod は OpenShift によって自動的に再起動されます。
1.2.3.4. OpenShift 4.x での Fuse Console のロールベースアクセス制御の無効化 リンクのコピーリンクがクリップボードにコピーされました!
Fuse Console の HAWTIO_ONLINE_RBAC_ACL
環境変数は、ロールベースアクセス制御 (RBAC) の ConfigMap 設定ファイルのパスを OpenShift サーバーに渡します。HAWTIO_ONLINE_RBAC_ACL
環境変数が指定されていない場合、RBAC のサポートは無効になり、Pod リソース (OpenShift の) で update verb (動詞) が付与されたユーザーのみが Fuse Console の Pod で MBean 操作を呼び出すことが承認されます。
前提条件
Fuse Console の RBAC テンプレート (deployment-cluster-rbac.yml
または deployment-namespace-rbac.yml
) の 1 つを使用して、Fuse Console がインストール済みである必要があります。
手順
Fuse Console のロールベースのアクセスを無効にするには、以下を実行します。
- OpenShift で、Fuse Console の Deployment Config リソースを編集します。
HAWTIO_ONLINE_RBAC_ACL
環境変数の定義をすべて削除します。(値を消去するだけでは不十分です)。
- ファイルを保存して変更を適用します。Fuse Console の Pod は OpenShift によって自動的に再起動されます。
1.2.4. OpenShift 4.x での Fuse Console のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift 4.x では、Red Hat Fuse Operator などの Operator の更新が処理されます。詳細は、OpenShift ドキュメントの Operator を参照してください。
その後、アプリケーションの設定方法によっては、Operator の更新でアプリケーションのアップグレードをトリガーできるようになります。
Fuse Console アプリケーションでは、アプリケーションカスタムリソース定義の .spec.version
フィールドを編集して、アプリケーションのアップグレードをトリガーすることもできます。
OCP 4.6 以降、Fuse Console Operator の Operator チャネルの名前が alpha
から fuse-console-7.7.x
に変更されました。OpenShift を OCP 4.6 にアップグレードした後に新しい operator チャンネルが表示されない場合は、既知の問題 ENTESB-15232 を参照し、OpenShift の OperatorHub から表示される operator チャンネルを更新する方法を確認してください。
前提条件
- OpenShift クラスターの管理者権限が必要です。
手順
Fuse Console アプリケーションをアップグレードするには、以下を行います。
ターミナルウィンドウで、以下のコマンドを使用してアプリケーションカスタムリソース定義の
.spec.version
フィールドを変更します。oc patch <project-name> <custom-resource-name> --type='merge' -p '{"spec":{"version":"1.7.1"}}'
oc patch <project-name> <custom-resource-name> --type='merge' -p '{"spec":{"version":"1.7.1"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc patch myproject example-fuseconsole --type='merge' -p '{"spec":{"version":"1.7.1"}}'
oc patch myproject example-fuseconsole --type='merge' -p '{"spec":{"version":"1.7.1"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションの状態が更新されたことを確認します。
oc get myproject
oc get myproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 応答には、バージョン番号などのアプリケーションに関する情報が表示されます。
NAME AGE URL IMAGE example-fuseconsole 1m https://fuseconsole.192.168.64.38.nip.io docker.io/fuseconsole/online:1.7.1
NAME AGE URL IMAGE example-fuseconsole 1m https://fuseconsole.192.168.64.38.nip.io docker.io/fuseconsole/online:1.7.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow .spec.version
フィールドの値を変更すると、OpenShift によってアプリケーションが自動的に再デプロイされます。バージョンの変更によってトリガーされた再デプロイの状態をチェックするには、以下を実行します。
oc rollout status deployment.v1.apps/example-fuseconsole
oc rollout status deployment.v1.apps/example-fuseconsole
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 正常にデプロイされた場合は以下の応答が表示されます。
deployment "example-fuseconsole" successfully rolled out
deployment "example-fuseconsole" successfully rolled out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow