7.3. Fuse on OpenShift
このセクションでは、OpenShift 上の Fuse アプリケーションのデプロイメントに影響する問題を取り上げます。特定のコンテナーに影響する問題の詳細は、Spring Boot、Fuse on Apache Karaf、および Fuse on JBoss EAP のセクションも参照にしてください。Fuse on OpenShift ディストリビューションの既知の問題を以下に示します。
- Apicurito Generator によって生成される Fuse Camel プロジェクトが管理ポートを公開しない
Fuse 7.9 では、API Designer(Apicurito Generator)によって生成された Fuse Camel プロジェクトが管理ポートを公開しません。このファイル
src/main/resources/application.yml
は誤って設定されるためです。生成されたsrc/main/resources/application.yml
ファイルには以下の設定が含まれます。management: port: 8081 endpoints: enabled: false health: enabled: true
この設定を以下のように変更する必要があります。
management: server: port: 8081 endpoints: enabled-by-default: false endpoint: health: enabled: true
さらに、生成されたプロジェクトの
pom.xml
ファイルは、非推奨となったfabric8-maven-plugin
を使用します。Maven プロジェクトで新規のopenshift-maven-plugin
を使用することが推奨されます。- ENTESB-17125 Quickstart Spring-Boot Soap2Rest integration tests fail because of invalid algorithm parameter
- Fuse 7.9 では、Spring Boot Soap2Rest インテグレーションテストは失敗しますが、機能は影響を受けません。
- spring-boot-camel-rhosak クイックスタートにメータリングラベルがない
- Fuse 7.9 では、Spring Boot 2 で稼働している Fuse はメータリングラベルをサポートしません。
- ENTESB-15994 API Designer upgrade from 7.8 to 7.9 requires delete and reinstall
- API Designer 7.8 から API Designer 7.9 にアップグレードするときに、通常の Operator のアップグレードプロセスは動作しません。API Designer を Fuse 7.8 から Fuse 7.9 にアップグレードするには、7.8 API Designer Operator を削除してから 7.9 API Designer Operator をインストールする必要があります。
- ENTESB-16814 モニターリングリソースがドキュメントから誤ってリンクされている
- Fuse 7.8 以降、監視するリソースの場所がセクション 2.5.2 で参照されました。『Fuse on OpenShift Guide』の Prometheus のセットアップが正しくなく、404 例外を返します。文書化された手順は、GA 後のドキュメント更新で修正される予定です。
- ENTESB-16287 Unable to start Karaf
Fuse 7.9 では、OpenShift で実行する Karaf アプリケーションをビルドする場合、
pom.xml
を編集し、POM ファイルのImport-Package
セクションに行を追加して、javax.annotation;version="[1.3,2.0)"
の明示的なバージョン範囲を指定する必要があります。
たとえば、
pom.xml
ファイルのImport-Package
セクションは以下のようになります。<Import-Package> javax.ws.rs;version="[2, 3)", javax.ws.rs.core;version="[2, 3)", javax.ws.rs.ext;version="[2, 3)", javax.xml.bind;version="[2,3)", javax.xml.bind.annotation;version="[2,3)", org.osgi.service.blueprint, org.apache.cxf.transport.http, * </Import-Package>
javax.annotation;version="[1.3,2.0)"
の行を追加して、セクションは以下のようになります。<Import-Package> javax.annotation;version="[1.3,2.0)", javax.ws.rs;version="[2, 3)", javax.ws.rs.core;version="[2, 3)", javax.ws.rs.ext;version="[2, 3)", javax.xml.bind;version="[2,3)", javax.xml.bind.annotation;version="[2,3)", org.osgi.service.blueprint, org.apache.cxf.transport.http, * </Import-Package>
これは、一般的なサードパーティーの依存関係の一部が、間違ったバージョンの
javax.annotations
ライブラリーを Karaf コンテナーにプルできるためです。