7.3. Fuse on OpenShift
このセクションでは、OpenShift 上の Fuse アプリケーションのデプロイメントに影響する問題を取り上げます。特定のコンテナーに影響する問題の詳細は、Spring Boot、Fuse on Apache Karaf、および Fuse on JBoss EAP のセクションも参照にしてください。Fuse on OpenShift ディストリビューションの既知の問題を以下に示します。
- ENTESB-10817 Openshift 4.1 + FMP: Unexpected response (403 Forbidden), to the authorization request.Missing header:[Location]!
OpenShift Container Platform (OCP) 4.1 では、
fabric8-maven-plugin が
oc login
コマンドによって作成された既存のセッションに依存するのではなく、Fabric8 の Kubernetes クライアント実装を使用して OpenShift に対して自身を認証すると、次のエラーが発生します。[ERROR] Failed to execute goal org.jboss.redhat-fuse:fabric8-maven-plugin:7.4.0.fuse-740024:build (default) on project fabric8-maven-sample-zero-config: Failed to execute the build: Unable to build the image using the OpenShift build service: Unexpected response (403 Forbidden), to the authorization request. Missing header:[Location]!
[ERROR] Failed to execute goal org.jboss.redhat-fuse:fabric8-maven-plugin:7.4.0.fuse-740024:build (default) on project fabric8-maven-sample-zero-config: Failed to execute the build: Unable to build the image using the OpenShift build service: Unexpected response (403 Forbidden), to the authorization request. Missing header:[Location]!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特に、Tooling User Guide の Fuse on OpenShift クイックスタート例をビルドおよびデプロイする手順は、
Fabric8-maven-plugin が
OpenShift に対して直接認証することを前提としています。Deploying the Fuse Integration project to OpenShift の手順にしたがって、プロジェクトを OCP 4.1 クラスターにデプロイする場合は、ステップ 5 を以下のように変更します。- アプリケーションをデプロイする OCP 4.1 クラスターの OpenShift コンソールにログインします。
-
OpenShift コンソールの右上隅にあるユーザー名をクリックし、メニューオプション Copy Login Command を選択します。これにより、
oc login https://192.168.42.218:8443 --token=xxxxxxxx という
形式の文字列がクリップボードにコピーされます。ここで、xxxxxxxx は
セッショントークンを表す base64 でエンコードされた文字列です。 -
仮想マシン引数 ペインから
-Dkubernetes.auth.basic.password=admin
設定を削除し、-Dkubernetes.auth.token=xxxxxxxx
設定に置き換えます。ここで、xxxxxxxx は
クリップボード文字列から抽出されたセッショントークンです。
注記Fuse on OpenShift ガイド の例とチュートリアルは通常、
oc login
コマンドによって作成されたセッションに依存します。そのため、これらの例の 1 つの手順にしたがえば、このエラーは発生しません。- ENTESB-10694 Problem using Fuse Console on OCP4.1 beta
OpenShift 4 で Fuse Console で Fuse サービスを管理する場合、OperatorHub のコミュニティーオペレーターを使用してコミュニティーバージョン (Hawtio) をインストールする必要があります。OpenShift Web コンソールのメインカタログから OperatorHub にアクセスします。
注記Kubernetes Operator は、OpenShift (または Kubernetes) アプリケーションのインストールおよび管理を簡単にするスクリプトです。
Fuse Console プロキシーと Jolokia エージェントとの間のコネクションをセキュアにするには、コミュニティーバージョンの Fuse Console をインストールし、それをデプロイする前にクライアント証明書を生成、署名、およびデプロイする必要があります。OpenShift 4 で Fuse Console をセキュアにする方法については、README ファイル を参照してください。
- ENTESB-10577 Apicurito does not support YAML Open API spec files
- Fuse 7.4 on OpenShift では、Apicurito はデフォルトで OpenAPI 仕様ファイルを YAML 形式で生成しますが、生成された YAML ファイルを再インポートできません。現在、JSON 形式のみを Apicurito にインポートできます。