Red Hat Integration 2022.q3 リリースノート

Red Hat Integration 2022.q3

Red Hat Integration の新機能

Red Hat Integration Documentation Team

概要

Red Hat Integration 製品について説明し、本リリースの新機能に関する最新情報を提供します。

第1章 Red Hat Integration

Red Hat Integration は、ハイブリッド環境およびマルチクラウド環境全体でコンテナーベースの統合サービスを作成、拡張、デプロイするための包括的な統合およびイベント処理技術です。Red Hat Integration は、デジタル環境で必要となるアプリケーションとシステム間でデータを接続および共有するために組織が使用できる、アジャイルで API 中心の分散ソリューションを提供します。

Red Hat Integration には、以下の機能が含まれています。

  • リアルタイムのメッセージング
  • データセンター間のメッセージストリーミング
  • API の接続
  • アプリケーションコネクター
  • エンタープライズ統合パターン
  • API 管理
  • データの変換
  • サービスの設定とオーケストレーション

第2章 Quarkus リリースノートの Camel エクステンション

2.1. Quarkus 機能の Camel エクステンション

高速起動と低 RSS メモリー
Quarkus の最適化されたビルドタイムおよび事前 (AOT: Ahead-of-Time) コンパイラー機能を使用すると、ビルド時に Camel アプリケーションを事前に設定できるため、起動時間を短縮できます。
アプリケーションジェネレーター
Quarkus アプリケーションジェネレーター を使用して、アプリケーションをブートストラップし、エクステンションエコシステムを検出します。
高度な設定が可能

Quarkus アプリケーションの Camel エクステンションの重要な側面はすべて、CDI (Contexts and Dependency Injection) または設定プロパティーを使用してプログラム的に設定できます。デフォルトでは、CamelContext が設定され、自動的に開始されます。

アプリケーションのブートストラップおよび設定のさまざまな方法については、Configuring your Quarkus applications ガイドを参照してください。

既存の Quarkus エクステンションとの統合
Quarkus の Camel エクステンションは、ネイティブサポートおよび設定オプションを継承する Camel コンポーネントによって使用されるライブラリーおよびフレームワークのエクステンションを提供します。

2.2. サポートされるプラットフォーム、設定、データベース、およびエクステンション

  • Quarkus バージョン 2.7.1 の Camel エクステンションにおけるサポート対象のプラットフォーム、設定、およびデータベースの詳細は、カスタマーポータルの Supported Configuration ページを参照してください (ログインが必要です)。
  • Quarkus エクステンションの Red Hat Camel エクステンションおよび各エクステンションの Red Hat サポートレベルの一覧は、Camel Extensions for Quarkus ReferenceExtensions Overview の章を参照してください (ログインが必要です)。

2.3. テクノロジープレビューのエクステンション

Red Hat は、Quarkus の Camel エクステンションの今回のリリースで提供されるテクノロジープレビューのコンポーネントに対するサポートを提供していません。Camel Extensions for Quarkus ReferenceExtensions Overview の章でテクノロジープレビューに指定された項目については、テクノロジープレビュー機能のサポート範囲で定義されているように、サポート範囲が限定されています。

2.4. 重要事項

拡張機能のネイティブモードのサポート
Quarkus バージョン 2.7.1 の Camel Extensions は、多くの拡張機能のネイティブモードサポートを導入しています。拡張機能とそのサポートレベルの完全なリストについては、Quarkus リファレンスの Camel 拡張機能拡張機能の概要 の章を参照してください。
Camel のバージョン 3.11.5 から 3.14.2 へのアップグレード

Camel Extensions for Quarkus バージョン 2.7.1 の Camel のバージョンが 3.11.5 から 3.14.2 にアップグレードされました。その間の各 Camel パッチリリースに関する詳細は、以下を参照してください。

Camel Quarkus がバージョン 2.2 からバージョン 2.7 にアップグレードされました

Camel バージョン 2.7.1 の Camel Extensions は、Camel Quarkus バージョン 2.2 から Camel Quarkus バージョン 2.7 にアップグレードされました。その間の各 Camel Quarkus パッチリリースに関する詳細は、以下を参照してください。

Elasticsearch Rest 拡張機能は Quarkus の Camel Extensions から削除されました

camel-quarkus-elasticsearch-rest 拡張機能は、Quarkus バージョン 2.2.1 の Camel Extensions で非推奨になり、このリリースで削除されました。

注記

camel-quarkus-elasticsearch-rest は、code.quarkus.redhat.com オンラインプロジェクトジェネレーターツールを使用して引き続き利用できますが、コミュニティーのサポートが必要です。

2.5. 解決した問題

次の表に、Quarkus バージョン 2.7.1 の Camel Extensions で修正された Quarkus の Camel Extensions に影響を与えていた既知の問題を示します。

表2.1 Quarkus 2.7.1 の Camel 拡張機能の解決された問題

問題説明

CAMEL-17158

AWS2 SQS 遅延を持つキューにメッセージを送信すると、遅延は考慮されません。

ENTESB-18306

NSQ、HDFS、Spark で製品化された netty-transport-native-epoll:jar:linux-aarch_64 が欠落しています。

Camel Quarkus 2.2 と Camel Quarkus 2.7 の間で解決されたその他の問題の詳細については、各パッチリリースの リリースノート を参照してください。

2.6. 関連情報

2.7. Quarkus 2.2 から 2.7 への Camel Extensions からの移行

Quarkus 2.7 の Came lExtensions には、Quarkus 2.2 の以前の Came lExtensions からの重大な変更を伴う新機能が含まれています。このセクションでは、Quarkus 2.2 の Camel Extensions とバージョン 2.7 の間の主な変更点について説明します。

2.7 での重大な変更により、自動アップグレードは行われず、移行作業が必要となります。また、Quarkus アプリケーションの既存の Camel Extensions を確認し、新しい要件を満たすように設定を更新する必要があります。

バージョン 2.7 に移行する際には、以下の主要な変更点を考慮する必要があります。

2.7.1. 正常シャットダウン戦略がデフォルトで使用されます

以前のリリースでは、正常シャットダウン戦略 (Camel のデフォルト戦略) はデフォルトで使用されていませんでした。シャットダウンはどの戦略によっても制御されませんでした。

これは当てはまらなくなりました。正常シャットダウン戦略は、1 つの例外を除いて、デフォルトで有効になっています。正常シャットダウンのタイムアウトが設定されておらず、アプリケーションが開発モードで実行されている場合、シャットダウン戦略は使用されません (正常タイムアウトのタイムアウトがない開発モードの動作は変更されていません)。

DefaultShutdownStrategy は、application.properties を介して設定できます。以下に例を示します。

#set graceful timeout to 15 seconds
camel.main.shutdownTimeout = 15

2.7.2. 非推奨の vertx-kafka 拡張機能は削除されました

非推奨の vertx-kafka 拡張機能は削除されました。このコンポーネントを使用するルートは、kafka 拡張機能を使用するように変更する必要があります。

2.7.3. 設定プロパティー quarkus.camel.main.enabled の削除

Camel Quarkus 1.8.0 以降、Camel Main はデフォルトのブートストラップモードとして有効になっています。Camel Main を無効にすることに大きなメリットがないため、設定プロパティー quarkus.camel.main.enabled が削除されました。

2.7.4. Removal of @BuildTimeAvroDataFormat

非推奨の @BuildTimeAvroDataFormat アノテーションは削除されました。ユーザーは、Camel Quarkus Avro Extension のドキュメントで説明されているように、ビルド時に Avro スキーマの解析を使用する必要があります。

第3章 Debezium リリースノート

Debezium は、分散型変更データキャプチャープラットフォームで、データベーステーブルで発生する行レベルの変更をキャプチャーし、対応する変更イベントレコードを Apache Kafka トピックに渡します。アプリケーションはこれらの 変更イベントストリーム を読み取りでき、変更イベントが発生した順にアクセスできます。Debezium は Apache Kafka 上に構築され、OpenShift Container Platform または Red Hat Enterprise Linux 上の AMQ Streams とデプロイおよび統合されます。

この Debezium の 2022.Q3 リリースは、Debezium コミュニティー 1.9.5.Final リリースに基づいています。

リリースの詳細は以下を参照してください。

3.1. Debezium データベースコネクター

Debezium は、以下の共通データベースの Kafka Connect をベースとしたコネクターを提供します。

  • Db2
  • MongoDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server

3.1.1. コネクターの使用上の注意

  • Db2

    • Debezium Db2 コネクターには、Db2 JDBC ドライバー (jcc-11.5.0.0.jar) は含まれていません。必要な JDBC ドライバーをデプロイする方法については、デプロイメントの説明 を参照してください。
    • Db2 コネクターには、Linux 用の Db2 の標準部分として利用できる抽象構文表記 (ASN) ライブラリーを使用する必要があります。
    • ASN ライブラリーを使用するには、IBM InfoSphere Data Replication (IIDR) のライセンスが必要です。ライブラリーを使用するために IIDR をインストールする必要はありません。
  • MongoDB

    • 現在、MongoDB 4.2 で Debezium MongoDB コネクターのトランザクションメタデータ機能を使用することはできません。
  • Oracle

    • Debezium Oracle コネクターには、Oracle JDBC ドライバー (ojdbc8.jar) は含まれていません。必要な JDBC ドライバーをデプロイする方法については、デプロイメントの説明 を参照してください。
  • PostgreSQL

    • Debezium PostgreSQL コネクターでは、PostgreSQL バージョン 10 以降のデフォルトである pgoutput 論理デコーディング出力プラグインを使用する必要があります。

3.2. Debezium でサポートされる設定

サポートされるデータベースバージョンなど、Debezium でサポートされる設定の詳細は、Debezium 1.9.5 でサポートされる設定 のページを参照してください。

3.2.1. AMQ Streams API バージョン

Debezium は AMQ Streams 2.1 で実行されます。

AMQ Streams は、AMQ Streams カスタムリソースのスキーマを更新する v1beta2 API バージョンをサポートします。古い API バージョンは非推奨になりました。AMQ Streams 1.7 にアップグレードした後、AMQ Streams 1.8 以降にアップグレードする前に、API バージョン v1beta2 を使用するようにカスタムリソースをアップグレードする必要があります。

詳細は、Debezium ユーザーガイド を参照してください。

3.3. Debezium のインストールオプション

Debezium と AMQ Streams を OpenShift または Red Hat Enterprise Linux にインストールできます。

3.4. Debezium の新機能

Debezium 1.9.5 には、以下の更新が含まれています。

3.4.1. Debezium 1.9.5 で一般公開 (GA) にプロモートした機能

2022.Q3 Debezium リリースでは、次の機能がテクノロジープレビューから一般公開 (GA) にプロモートしています。

アドホックおよびインクリメンタルおよびスナップショット
以前にスナップショットをキャプチャしたテーブルのスナップショットを再実行するためのメカニズムを提供します。
Debezium Oracle コネクター

Oracle Database のコネクターは、LogMiner を使用するように設定されたデータベースで完全にサポートされるようになりました。Debezium Oracle コネクターのこのリリースには、次の更新が含まれています。

  • DBZ-3317 decimal.handling.mode プロパティーを説明するドキュメントは、他の Debezium コネクターの同様のドキュメントと一致するようになりました。
  • DBZ-4404 コネクターは、12c より前のバージョンの Oracle でアドホックスナップショットをトリガーするためのシグナルの使用をサポートするようになりました。
  • DBZ-4436/ DBZ-4883 デプロイメントのドキュメントに、Oracle JDBC ドライバーを Maven アーティファクトとして取得する方法が記載されています。
  • DBZ-4494 ドキュメントには、Oracle コネクター LogMiner ユーザーのデータベース権限を設定する方法が記載されています。
  • DBZ-4536 マイニングセッション中に発生したエラーを再試行するための Oracle コネクターエラーハンドラーの柔軟性が向上します。
  • DBZ-4595 Oracle コネクターが ROWID データ型をサポートするようになりました
  • DBZ-4963 Oracle コネクターの log.mining.session.max.ms 設定オプションを導入します。
  • DBZ-5005 LogMiner バッチサイズを調整するとき、新しいサイズは、デフォルトサイズではなく、現在のバッチサイズに基づくようになりました。
  • DBZ-5119 ユーザーは、ハートビートイベントを発行するようにコネクターを設定して、変更が長期間発生しないテーブルでコネクターオフセットが同期されたままになるようにすることができます。
  • DBZ-5225 LogMiner イベント SCN が Oracle 変更イベントレコードに含まれるようになり、コネクターが間隔中に発行するすべてのイベントが、最も古い進行中のトランザクションと同じ最低水準の SCN 値を使用する状況を防ぎます。
  • DBZ-5256 コネクターの起動時に不適切に削除されたアーカイブログが見つからない場合の障害を防ぐために、スナップショットフェーズ中に、Oracle コネクターがデフォルトで不完全なトランザクションの進行状況をチェックすることはなくなりました。
  • DBZ-5399 signal.data.collection プロパティーのドキュメントを更新し、プラグ可能なデータベース環境でプロパティーの値をルートデータベースの名前に設定する必要があることを指定します。

    テクノロジープレビュー中に導入された Oracle コネクター機能の一覧は、2022.Q1 リリースノートを参照してください。
送信トレイ (Outbox) イベントルーター
複数の (マイクロ) サービス間でデータを安全かつ確実に交換するための送信トレイパターンをサポートする単一メッセージ変換 (SMT)。
Debezium コネクターへのシグナル送信
統合シグナルメカニズムは、コネクターの動作を変更したり、コネクターをトリガーして、テーブルのアドホック増分スナップショットを開始するなどの 1 回限りのアクションを実行する方法を提供します。

3.4.2. その他の最近の Debezium 機能の更新

2022.Q3 の更新

次のリストには、2022.Q3 Debezium リリースに含まれる変更に関する情報が含まれています。

  • DBZ-3762 デフォルトでは、MySQL コネクターはイベント DDL のインラインコメントをデータベース履歴に伝播しなくなりました
  • https://issues.redhat.com/browse/DBZ-4351 最後の開始以降にコネクターが発行する DML 作成/更新/削除イベントの数をモニターするためのメトリックを追加します
  • DBZ-4415 oplog モードで MongoDB 5 以降で MongoDB コネクターを使用するためのサポートを削除します
  • DBZ-4451 コネクターは、名前が変更されたテーブルの履歴を正しく回復できるようになりました。
  • DBZ-4472 コネクターログに、イベントのソースパーティションに関する情報が記録されるようになりました
  • DBZ-4478 コネクターのメトリックを複数のパーティションから取得できるようになりました
  • DBZ-4518 database.history.kafka.query.timeout.ms プロパティーを設定することにより、KAFKA_QUERY_TIMEOUT を設定できるようになりました。
  • DBZ-4541 MySQL および Oracle コネクターは、開始する前に JMX メトリックを正常に登録する必要があります
  • DBZ-4547 MySQL コネクターは、SaaS 環境で履歴トピックを正常に作成できるようになりました
  • DBZ-4600 MongoDB コネクターを送信トレイイベントルーターで使用する場合、バイナリーペイロードをデコードするように設定できるようになりました
  • DBZ-4730 コネクターが 10 進法文字列モードに設定されている場合、科学的な指数表記ではなくプレーンな文字列値を期待するようになりました
  • DBZ-4809 マルチパーティションコネクターのロギングコンテキストにタスク ID とパーティションを追加します
  • DBZ-4823 MySQL コネクターは、除外されたテーブルの tableId の null 値をログに記録しなくなりました
  • DBZ-4832 MySQL コネクターは、システム変数からトラストストアとキーストアのパラメーターを取得するようになりました
  • DBZ-4834 増分スナップショットに、include リストに追加されたテーブルが正しく含まれるようになりました
  • DBZ-4861 PostgreSQL コネクターは、スナップショットイベントをログに記録するときにスキーマ情報を提供するようになりました
  • DBZ-4948 PostgreSQL コネクターは、ネットワーク例外の結果として閉じた接続を再試行するようになりました

3.4.3. Debezium 2022.Q1 の更新

以前の Debezium リリースに含まれていた機能のリストについては、2022.Q1 リリースノート を参照してください。

3.5. テクノロジープレビューの機能

重要

テクノロジープレビュー機能は、Red Hat の実稼働サービスレベルアグリーメント (SLA) でサポートされておらず、機能的に完全でない可能性があります。Red Hat は、本番環境でのテクノロジープレビュー機能の実装は推奨しません。テクノロジープレビュー機能は、近々発表予定の製品イノベーションをリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。サポート範囲の詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

Debezium には、次のテクノロジープレビュー機能が含まれています。

MongoDB コネクターのアドホックおよび増分スナップショット
以前にスナップショットをキャプチャしたテーブルのスナップショットを再実行するためのメカニズムを提供します。
CloudEvents コンバーター
CloudEvents 仕様に準拠する変更イベントレコードが出力されます。Cloud Events の変更イベントのエンベロープは、JSON または Avro であり、各エンベロープタイプは data フォーマットとして JSON または Avro をサポートしています。CloudEvents の変更イベントエンベロープは Avro エンコーディングをサポートしています。変更イベントエンベロープは JSON または Avro を使用でき、各エンベロープタイプは data 形式として JSON または Avro をサポートしています。
コンテンツベースルーティング
イベントの内容に基づいて、選択したイベントを特定のトピックに再ルーティングするためのメカニズムを提供します。
カスタム開発コンバーター
デフォルトのデータ型変換がニーズを満たさない場合は、コネクターで使用するカスタムコンバータを作成できます。
フィルター SMT
コネクターがブローカに送信するレコードのサブセットを指定できます。
MongoDB コネクターの シグナリング
コネクターの動作を変更したり、テーブルの アドホックスナップショット を開始するなどの 1 回限りのアクションをトリガーしたりするためのメカニズムを提供します。
Oracle コネクターでの BLOBCLOB、および NCLOB データ型 の使用
Oracle コネクターは、Oracle のラージオブジェクトタイプを使用できます。

3.6. 非推奨の Debezium 機能

PostgreSQL の truncate.handling.mode プロパティー
Debezium PostgreSQL コネクターの truncate.handling.mode プロパティーは、このリリースでは非推奨であり、将来のリリース (DBZ-4419) で削除される予定です。代わりに skipped.operations プロパティーを使用します。
コネクタースナップショットおよびストリーミングメトリックの MonitoredTables オプション
Debezium コネクターメトリクスの MonitoredTables オプションは、このリリースでは非推奨であり、将来のリリースで削除される予定です。代わりに CapturedTables メトリックを使用します。

第4章 Camel K リリースノート

Camel K は、OpenShift のクラウドでネイティブで実行される Apache Camel K からビルドされる軽量のインテグレーションフレームワークです。Camel K は、サーバーレスおよびマイクロサービスアーキテクチャー向けに特別に設計されています。Camel K を使用すると、Camel Domain Specific Language (DSL) で書かれたインテグレーションコードを直接 OpenShift で即座に実行することができます。

Camel K を OpenShift Serverless および Knative とともに使用すると、コンテナーは必要な場合のみ自動的に作成され、負荷時の自動スケーリングやゼロへのスケーリングが行われます。これにより、サーバーのプロビジョニングとメンテナーンスのオーバーヘッドがなくなり、アプリケーションの開発に集中することができます。

Camel K を OpenShift Serverless および Knative Eventing とともに使用すると、システムのコンポーネントがサーバーレスアプリケーションのイベント駆動型アーキテクチャーで通信する方法を管理できます。これにより、イベントプロデューサーとコンシューマー間の関係が切り離されたパブリッシュ/サブスクライブモデルまたはイベントストリーミングモデルを使用すると、柔軟性を提供し、効率化を実現できます。

4.1. Camel K の機能

Camel K は、以下の主要機能でクラウドネイティブインテグレーションを提供します。

  • 自動スケーリングおよびゼロへのスケーリングを行うための Knative Serving
  • イベント駆動型アーキテクチャーのための Knative Eventing
  • デフォルトで Quarkus ランタイムを使用するパフォーマンスの最適化
  • Java または YAML DSL で書かれた Camel インテグレーション
  • OpenShift で Prometheus を使用したインテグレーションのモニターリング
  • クイックスタートチュートリアル
  • AWS、Jira、Salesforce などの外部システムへのコネクター用の Kamelet Catalog
  • Timer および Log Kamelets のサポート
  • Camel K オペレーターと Pod の計測
  • IBM MQ コネクターのサポート
  • Oracle19 データベースのサポート

4.2. サポートされる設定

Camel K でサポートされる設定、標準仕様、およびコンポーネントに関する詳細は、以下のカスタマーポータルの記事を参照してください。

4.2.1. Camel K Operator のメタデータ

Camel K には、OpenShift OperatorHub から Camel K をインストールするために使用される更新された Operator メタデータが含まれています。この Operator メタデータには、OpenShift Container Platform 4.6 以降との使用を目的に設計されたリリースパッケージの Operator バンドル形式が含まれます。

4.3. 重要事項

Red Hat Integration - Camel K リリースにおける重要事項

ROSA で Camel K を実行するためのサポート
Camel K は、Red Hat OpenShift Service on AWS (ROSA) での実行がサポートされるようになりました。
Camel K での IBM MQ ソースコネクターのサポート
IBM MQ ソースコネクター kamelet が最新の Camel K に追加されました。
Oracle 19 のサポート
Oracle 19 は、Camel K でサポートされるようになりました。詳細は、Camel K でサポートされる設定 ページを参照してください。
Windows マシンで Camel K CLI コマンドを使用する
Windows マシンで kamel cli コマンドを使用する場合、コマンドの resource オプションのパスは Linux 形式を使用する必要があります。以下に例を示します。
//Windows path
kamel run file.groovy --dev --resource file:C:\user\folder\tempfile@/tmp/file.txt

//Must be converted to
kamel run file.groovy --dev --resource file:C:/user/folder/tempfile@/tmp/file.txt
Red Hat Integration- Camel K Operator のイメージサイズが大きくなる
Red Hat Integration - Camel K 1.8.1.redhat-00024 以降、Camel K Operator イメージのサイズは 2 倍になりました。
YAML DSL で受け入れられた Camel ケース表記
Red Hat Integration - Camel K 1.8.1.redhat-00024 以降、YAML DSL は camel ケース表記 (つまり setBody) とスネークケース (つまり set-body) を受け入れます。スキーマは Camel バージョン内で変更される可能性があるため、構文にいくつかの違いがあることに注意してください。

4.4. サポートされる Camel Quarkus エクステンション

ここでは、本リリースの Camel K でサポートされる Camel Quarkus エクステンションを一覧表示します (Camel K アプリケーション内で使用する場合のみ)。

注記

これらの Camel Quarkus エクステンションは、Camel K アプリケーション内で使用される場合にのみサポートされます。これらの Camel Quarkus エクステンションは、スタンドアロンモード (Camel K なし) での使用はサポートされていません。

4.4.1. サポートされる Camel Quarkus コネクターエクステンション

以下の表は、本リリースの Camel K でサポートされる Camel Quarkus コネクターエクステンションを示しています (Camel K アプリケーション内で使用する場合のみ)。

名前パッケージ

AWS 2 Kinesis

camel-quarkus-aws2-kinesis

AWS 2 Lambda

camel-quarkus-aws2-lambda

AWS 2 S3 Storage Service

camel-quarkus-aws2-s3

AWS 2 Simple Notification System (SNS)

camel-quarkus-aws2-sns

AWS 2 Simple Queue Service (SQS)

camel-quarkus-aws2-sqs

Cassandra CQL

camel-quarkus-cassandraql

File

camel-quarkus-file

FTP

camel-quarkus-ftp

FTPS

camel-quarkus-ftp

SFTP

camel-quarkus-ftp

HTTP

camel-quarkus-http

JMS

camel-quarkus-jms

Kafka

camel-quarkus-kafka

Kamelets

camel-quarkus-kamelet

メトリクス

camel-quarkus-microprofile-metrics

MongoDB

camel-quarkus-mongodb

Salesforce

camel-quarkus-salesforce

SQL

camel-quarkus-sql

Timer

camel-quarkus-timer

4.4.2. サポートされる Camel Quarkus データフォーマットエクステンション

以下の表は、本リリースの Camel K でサポートされる Camel Quarkus データフォーマットエクステンションを示しています (Camel K アプリケーション内で使用する場合のみ)。

名前パッケージ

Avro

camel-quarkus-avro

Bindy (CSV 用)

camel-qaurkus-bindy

Gson

camel-quarkus-gson

JSON Jackson

camel-quarkus-jackson

Jackson Avro

camel-quarkus-jackson-avro

4.4.3. サポートされる Camel Quarkus 言語エクステンション

本リリースでは、Camel K は以下の Camel Quarkus 言語エクステンションをサポートします (Camel 式および述語での使用)。

  • Constant
  • ExchangeProperty
  • File
  • Header
  • Ref
  • Simple
  • Tokenize
  • JsonPath

4.4.4. サポートされる Camel K トレイト

本リリースでは、Camel K は以下の Camel K トレイトをサポートします。

  • Builder トレイト
  • Camel トレイト
  • Container トレイト
  • Dependencies トレイト
  • Deployer トレイト
  • Deployment トレイト
  • Environment トレイト
  • JVM トレイト
  • Kamelets トレイト
  • Owner トレイト
  • Platform トレイト
  • Pull Secret トレイト
  • Prometheus トレイト
  • Quarkus トレイト
  • Route トレイト
  • Service トレイト
  • Error Handler トレイト

4.5. サポート対象の Kamelets

以下の表には、Camel K Operator をインストールする際に OpenShift リソースとして提供される kamelets が記載されています。

これらの kamelets の詳細は、https://github.com/openshift-integration/kamelet-catalog/tree/kamelet-catalog-1.8 を参照してください。

kamelets を使用してアプリケーションとサービスを接続する方法は、https://access.redhat.com/documentation/ja-jp/red_hat_integration/2022.q3/html-single/integrating_applications_with_kamelets を参照してください。

重要

テクノロジープレビュー機能は、Red Hat の実稼働サービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。

テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

表4.1 Camel K Operator で提供される Kamelets

Kameletファイル名タイプ (シンク、ソース、アクション)

Ceph sink

ceph-sink.kamelet.yaml

シンク

Ceph ソース

ceph-source.kamelet.yaml

Source

Jira Add Comment sink

jira-add-comment-sink.kamelet.yaml

シンク

Jira Add Issue sink

jira-add-issue-sink.kamelet.yaml

シンク

Jira Transition Issue sink

jira-transition-issue-sink.kamelet.yaml

シンク

Jira Update Issue sink

jira-update-issue-sink.kamelet.yaml

シンク

Avro デシリアライズアクション

avro-deserialize-action.kamelet.yaml

アクション (データ変換)

Avro シリアライズアクション

avro-serialize-action.kamelet.yaml

アクション (データ変換)

AWS DynamoDB シンク

aws-ddb-sink.kamelet.yaml

シンク

AWS Redshift シンク

aws-redshift-sink.kamelet.yaml

シンク

AWS 2 Kinesis シンク

aws-kinesis-sink.kamelet.yaml

シンク

AWS 2 Kinesis ソース

aws-kinesis-source.kamelet.yaml

Source

AWS 2 Lambda シンク

aws-lambda-sink.kamelet.yaml

シンク

AWS 2 Simple Notification System シンク

aws-sns-sink.kamelet.yaml

シンク

AWS 2 Simple Queue Service シンク

aws-sqs-sink.kamelet.yaml

シンク

AWS 2 Simple Queue Service ソース

aws-sqs-source.kamelet.yaml

Source

AWS 2 Simple Queue Service FIFO シンク

aws-sqs-fifo-sink.kamelet.yaml

シンク

AWS 2 S3 シンク

aws-s3-sink.kamelet.yaml

シンク

AWS 2 S3 ソース

aws-s3-source.kamelet.yaml

Source

AWS 2 S3 ストリーミングアップロードシンク

aws-s3-streaming-upload-sink.kamelet.yaml

シンク

Azure Storage Blob Source (テクノロジープレビュー)

azure-storage-blob-source.kamelet.yaml

Source

Azure Storage Blob Sink (テクノロジープレビュー)

azure-storage-blob-sink.kamelet.yaml

シンク

Azure Storage Queue Source (テクノロジープレビュー)

azure-storage-queue-source.kamelet.yaml

Source

Azure Storage Queue Sink (テクノロジープレビュー)

azure-storage-queue-sink.kamelet.yaml

シンク

Cassandra sink

cassandra-sink.kamelet.yaml

シンク

Cassandra source

cassandra-source.kamelet.yaml

Source

フィールドアクションの抽出

extract-field-action.kamelet.yaml

アクション

FTP シンク

ftp-sink.kamelet.yaml

シンク

FTP ソース

ftp-source.kamelet.yaml

Source

ヘッダーフィルターアクションあり

has-header-filter-action.kamelet.yaml

Action(データ変換)

Hoist フィールドアクション

hoist-field-action.kamelet.yaml

アクション

HTTP シンク

http-sink.kamelet.yaml

シンク

フィールドアクションの挿入

insert-field-action.kamelet.yaml

Action(データ変換)

Header アクションの挿入

insert-header-action.kamelet.yaml

Action(データ変換)

Tombstone Filter アクション

is-tombstone-filter-action.kamelet.yaml

Action(データ変換)

Jira ソース

jira-source.kamelet.yaml

Source

JMS シンク

jms-amqp-10-sink.kamelet.yaml

シンク

JMS ソース

jms-amqp-10-source.kamelet.yaml

Source

JMS IBM MQ シンク

jms-ibm-mq-sink.kamelet.yaml

シンク

JMS IBM MQ ソース

jms-ibm-mq-source.kamelet.yaml

Source

JSON デシリアライズアクション

json-deserialize-action.kamelet.yaml

アクション (データ変換)

JSON シリアライズアクション

json-serialize-action.kamelet.yaml

アクション (データ変換)

Kafka シンクコ

kafka-sink.kamelet.yaml

シンク

Kafka ソース

kafka-source.kamelet.yaml

Source

Kafka トピック名フィルターアクション

topic-name-matches-filter-action.kamelet.yaml

Action(データ変換)

ログシンク (開発およびテスト用)

log-sink.kamelet.yaml

シンク

MariaDB シンク

mariadb-sink.kamelet.yaml

シンク

mask フィールドアクション

mask-field-action.kamelet.yaml

Action(データ変換)

メッセージタイムスタンプルーターアクション

message-timestamp-router-action.kamelet.yaml

アクション (ルーター)

MongoDB シンク

mongodb-sink.kamelet.yaml

シンク

MongoDB ソース

mongodb-source.kamelet.yaml

Source

MySQL シンクコネクター

mysql-sink.kamelet.yaml

シンク

PostgreSQL シンクコネクター

postgresql-sink.kamelet.yaml

シンク

述語フィルターアクション

predicate-filter-action.kamelet.yaml

アクション (ルーター/フィルター)

Protobuf デシリアライズアクション

protobuf-deserialize-action.kamelet.yaml

アクション (データ変換)

Protobuf シリアライズアクション

protobuf-serialize-action.kamelet.yaml

アクション (データ変換)

regex ルーターのアクション

regex-router-action.kamelet.yaml

アクション (ルーター)

フィールドアクションの置き換え

replace-field-action.kamelet.yaml

アクション

Salesforce の作成

salesforce-create-sink.kamelet.yaml

シンク

Salesforce の削除

salesforce-delete-sink.kamelet.yaml

シンク

Salesforce の更新

salesforce-update-sink.kamelet.yaml

シンク

SFTP シンク

sftp-sink.kamelet.yaml

シンク

SFTP ソース

sftp-source.kamelet.yaml

Source

Slack ソース

slack-source.kamelet.yaml

Source

SQL サーバーデータベースシンク

sqlserver-sink.kamelet.yaml

シンク

Telegram ソース

telegram-source.kamelet.yaml

Source

スロットルアクション

throttle-action.kamelet.yaml

アクション

タイマーソース (開発およびテスト用)

timer-source.kamelet.yaml

Source

ルーターアクションのタイムスタンプ

timestamp-router-action.kamelet.yaml

アクション (ルーター)

キーアクションに対する値

value-to-key-action.kamelet.yaml

Action(データ変換)

4.6. Camel K の既知の問題

以下の既知の問題は Camel K に適用されます。

ENTESB-15306 - CRD conflicts between Camel K and Fuse Online

古いバージョンの Camel K が同じ OpenShift クラスターにインストールされたことがある場合、カスタムリソース定義との競合により、OperatorHub から Camel K のインストールに失敗します。たとえば、これには Fuse Online で以前使用できた古いバージョンの Camel K が含まれます。

この問題を回避するには、Camel K を別の OpenShift クラスターにインストールするか、Camel K をインストールする前に以下のコマンドを入力します。

$ oc get crds -l app=camel-k -o json | oc delete -f -

ENTESB-15858 - Added ability to package and run Camel integrations locally or as container images

ローカルでの Camel インテグレーションのパッケージ化および実行、またはコンテナーイメージとしての Camel インテグレーションのパッケージ化および実行は、現在 Camel K には含まれておらず、コミュニティーのみによるサポートの対象となります。

詳細は Apache Camel K community を参照してください。

ENTESB-16477 - Unable to download jira client dependency with productized build

Camel K Operator を使用する場合、インテグレーションは jira クライアントの依存関係を見つけることができません。回避策として、atlassian リポジトリーを手動で追加します。

apiVersion: camel.apache.org/v1
kind: IntegrationPlatform
metadata:
  labels:
    app: camel-k
  name: camel-k
spec:
  configuration:
  - type: repository
    value: <atlassian repo here>

ENTESB-17033 - Camel-K ElasticsearchComponent options ignored

Elasticsearch コンポーネントを設定する場合、Camel K ElasticsearchComponent オプションは無視されます。回避策として、Elasticsearch コンポーネントの使用時に getContext().setAutowiredEnabled(false) を追加します。

ENTESB-17061 - Can't run mongo-db-source kamelet route with non-admin user - Failed to start route mongodb-source-1 because of null

管理者でないユーザー認証情報で mongo-db-source kamelet ルートを実行することはできません。コンポーネントの一部には管理者の認証情報が必要なため、管理者以外のユーザーとしてルートを実行することはできません。

4.7. Camel K の修正された問題

以下のセクションには、Red Hat Integration - Camel K 1.8.1.redhat-00024 で修正された問題が記載されています。

4.7.1. Camel K 1.8.1.redhat-00024 の機能リクエスト

次の表に、Camel K 1.8.1.redhat-00024 の機能リクエストを示します。

表4.2 Camel K 1.8.1.redhat-00024 Enhancements

問題説明

ENTESB-19061

Camel K - Red Hat Ceph Storage オブジェクト (S3) の Kamelet

ENTESB-19366

Jira Sink カメレットの作成

4.7.2. Camel K 1.8.1.redhat-00024 の機能強化

以下の表には、Camel K 1.8.1.redhat-00024 で改良された機能が記載されています。

表4.3 Camel K 1.8.1.redhat-00024 Enhancements

問題説明

ENTESB-16888

Camel K の製品化バージョンを実際の製品バージョンと同期する

ENTESB-16931

Camel-K オペレーターを ALL-NAMESPACES に移行することを検討してください

ENTESB-17173

オペレータを 1.x および 1.6.x チャネルに公開

ENTESB-19598

camel-kamelet-utils の単体テストを追加

4.7.3. Camel K 1.8.1.redhat-00024 で解決されたバグ

以下の表には、Camel K 1.8.1.redhat-00024 で解決されたバグが記載されています。

表4.4 Camel K 1.8.1.redhat-00024 解決済みのバグ

問題説明

ENTESB-16168

CVE-2021-22135 elasticsearch: Document disclosure flaw in the Elasticsearch suggester [rhint-camel-k-1]

ENTESB-16326

CVE-2021-29427 gradle: repository content filters do not work in Settings pluginManagement [rhint-camel-k-1]

ENTESB-16746

CVE-2021-28169 jetty: requests to the ConcatServlet and WelcomeFilter are able to access protected resources within the WEB-INF directory [rhint-camel-k-1]

ENTESB-16924

CVE-2021-34428 jetty: SessionListener can prevent a session from being invalidated breaking logout [rhint-camel-k-1]

ENTESB-17037

CVE-2021-3642 wildfly-elytron: possible timing attack in ScramServer [rhint-camel-k-1]

ENTESB-17559

Kamelet has-header-filter-action differs in upstream.

ENTESB-17672

Camel K images don't create PST manifest for golang code

ENTESB-17931

Camel K 1.6.0 Sources contain multiple defects (tech-preview + wrong versions)

ENTESB-19222

AWS Redshift Sink kamelet dependency mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.5 missing in bom

ENTESB-19336

Salesforce Source kamelet: notifyForFields isnt very usable

ENTESB-19344

AWS S3 Streaming upload kamelet: streamingUploadMode probably shouldnt be configurable

ENTESB-19392

CVE-2022-30973 tika-core: incomplete fix for CVE-2022-30126 [rhint-camel-k-1]

ENTESB-19417

Upgrade test to channel 1.8.x fails with "2 replacement chains were found"

ENTESB-19536

Action kamelet tests fail on Unsupported field: unmarshalTypeName

ENTESB-19670

Default maven repositories are overridden when using kamel install

ENTESB-19727

Camel-K 1.8.1.CK1 unaligned versions

ENTESB-19744

Cannot run kameletBinding with the native mode

ENTESB-19830

Wrong snakeyaml dependency in MRRC

ENTESB-19875

Elasticsearch source Kamelet would not work with basic authentication

第5章 Camel Spring Boot リリースノート

5.1. camel Spring Boot の機能

Camel Spring Boot の今回のリリースでは、多くの Camel コンポーネントの Camel とスターターの自動設定を提供する Spring Boot の Camel サポートが導入されています。Camel コンテキストのオピニオン自動設定は、Spring コンテキストで使用できる Camel ルートを自動検出し、プロデューサーテンプレート、コンシューマーテンプレート、タイプコンバーターなどの主な Camel ユーティリティーを Bean として登録します。

5.2. サポートされるプラットフォーム、設定、データベース、およびエクステンション

  • Camel Spring Boot バージョン 3.14 でサポートされているプラットフォーム、設定、およびデータベースの詳細は、カスタマーポータル (ログインが必要) の サポートされている設定 ページを参照してください。
  • Red Hat Camel Spring Boot 拡張機能のリストについては、Camel Spring Boot リファレンス を参照してください。(ログインが必要です)。

5.3. 重要事項

Camel Spring Boot コンポーネントのドキュメントは、Camel Spring Boot リファレンス で確認できます。追加の Camel Spring Boot コンポーネントのドキュメントは、このリファレンスガイドに追加されます。

5.4. 関連情報

第6章 Service Registry リリースノート

Service Registry 2.3 は、一般公開リリースとして提供されています。Service Registry は、Apicurio Registry オープンソースコミュニティープロジェクトをベースとする標準イベントスキーマおよび API デザインのデータストアです。

Service Registry を使用して、Web コンソール、REST API、Maven プラグイン、または Java クライアントを使用してデータの構造を管理および共有できます。たとえば、クライアントアプリケーションは、再デプロイせずに最新のスキーマ更新を Service Registry に動的にプッシュまたはプルできます。また、Service Registry を使用して任意のルールを作成し、レジストリーコンテンツが時間の経過と共にどのように進化するかを制御することもできます。これらのルールには、コンテンツの検証と、スキーマまたは API バージョンの後方互換性または前方互換性が含まれます。

6.1. Service Registry のインストールオプション

以下のデータストレージオプションのいずれかを使用して、Service Registry を OpenShift にインストールできます。

  • PostgreSQL データベース
  • AMQ Streams

詳細は、Installing and deploying Service Registry on OpenShiftを参照してください。

6.2. Service Registry プラットフォームコンポーネントのバージョン

Service Registry 2.3 は以下のバージョンをサポートします。

  • OpenShift Container Platform 4.6 - 4.11
  • PostgreSQL 12 - 15
  • AMQ Streams 2.1、2.2
  • Red Hat Single Sign-On (RH-SSO) 7.6
  • OpenJDK 11

6.3. Service Registry の新機能

Service Registry の認証および認可
  • ロールベースの承認の拡張 - 以前と同様に、RH-SSO だけでなく、サービスレジストリーでもロールベースの承認を設定できるようになりました。Service Registry アプリケーションでロールベースの承認が有効になっている場合は、Web コンソールまたは REST API を使用してアクセスを制御できます。
  • 拡張された所有者ベースの許可 - 以前のようにアーティファクトベルだけでなく、アーティファクトグループレベルでも所有者ベースの許可オプションを有効にできるようになりました。
  • 匿名の読み取りアクセス - 匿名の読み取りアクセスオプションが有効になっている場合、認証されていない (匿名の) ユーザーは、読み取り専用ですべてのアーティファクトにアクセスできます。
  • 認証された読み取りアクセス - 認証された読み取りアクセスオプションが有効になっている場合、ユーザーに Service Registry ロールが付与されていない場合でも、認証されたユーザーは読み取り専用ですべてのアーティファクトにアクセスできます。
  • HTTP 基本認証 - このオプションを有効にすると、ユーザーまたはクライアントアプリケーションは HTTP 基本認証を使用して Service Registry にアクセスできます。
  • Kafka ストレージのカスタム TLS 証明書 - ストレージに Kafka を使用する場合、ユーザーはカスタム TLS 証明書を使用して安全に Kafka に接続できるようになりました。
  • アーティファクト所有者の変更 - 管理者またはアーティファクト所有者は、REST API または Web コンソールを使用して、特定のスキーマまたは API アーティファクトの所有者を変更できます。
運用と監視の改善
  • 監査ログ - サービスレジストリーデータに変更を加えると、監査ログエントリーが作成されます。
  • Prometheus メトリック - メトリックは、モニタリングで使用するために Prometheus 形式で公開されます。
  • Sentry 統合 - Sentry 1.x とオプションで統合されます。
Operator の改善
  • カスタム環境変数 - ApicurioRegistry カスタムリソースで任意の環境変数を設定できるようになりました。これらの変数は、Deployment リソースを使用して Service Registry に適用されます。
  • PodDisruptionBudget のサポート - このリソースは自動的に作成され、最大で 1 つのレプリカを使用できないようにします。
  • NetworkPolicy のサポート - Service Registry Operator は、ポート 8080 の ingress ネットワークポリシーを作成します。
アーティファクト参照
アーティファクトは、Service Registry 内の他のアーティファクトを参照できるようになりました。サポート対象のアーティファクトタイプの多くでは、別のファイルへの参照が許可されています。たとえば、OpenAPI ファイルには、プロパティーが別のファイルで定義された JSON スキーマを参照されているデータ型が含まれている場合があります。通常、これらの参照にはアーティファクトタイプに固有の構文があります。REST API を使用してマッピングを作成し、タイプ固有の参照を Service Registry に登録されたアーティファクトに解決できるようになりました。
Service Registry インスタンスの動的グローバル設定
Service Registry には、通常、デプロイ時に設定される多くのグローバル設定オプションがあります。これらのオプションのサブセットは、Service Registry インスタンスの実行時にも設定できるようになりました。これらのオプションは、REST API または Web コンソールを使用して実行時に管理できます。たとえば、これらのオプションには、所有者ベースの承認、匿名の読み取りアクセス、および認証された読み取りアクセスが含まれます。
URL からのアーティファクトのアップロード
サポートされているファイルからアップロードするだけでなく、URL からスキーマまたは API アーティファクトをアップロードできるようになりました。Service Registry Web コンソールまたは REST API を使用してアップロードできます。
Web コンソールの強化
  • サービスレジストリーデータのインポートとエクスポート - 管理者ユーザーは、以前のように REST API を使用するだけでなく、Web コンソールを使用してすべてのサービスレジストリーデータを .zip ファイルにエクスポートできるようになりました。その後、この .zip ファイルを別の Service Registry デプロイメントにインポートできます。
  • アーティファクトプロパティーの完全なサポート - Service Registry のアーティファクトには、名前、説明、ラベル (単純なキーワードリスト)、およびプロパティー (名前と値のペア) など、編集可能なユーザー定義メタデータを含めることができます。Web コンソールは、以前の REST API に加えて、プロパティーの表示と編集もサポートするように強化されました。
  • AsyncAPI アーティファクトのドキュメント生成 - AsyncAPI アーティファクトで、アーティファクトの詳細ページの Documentation タブがサポートされるようになりました。このタブには、AsyncAPI コンテンツから生成された人間が判読できるドキュメントが表示されます。この機能は、以前は OpenAPI アーティファクトでのみ提供されていました。
  • JSON を YAML として表示するオプション - JSON 形式の成果物タイプの場合、成果物の詳細ページの Content タブで、JSON 形式と YAML 形式の切り替えがサポートされるようになりました。
REST API の改善
  • /users/me エンドポイントの改善 - Service Registry コア REST API には、現在認証されているユーザーに関する情報を返す /users/me エンドポイントがあります。このエンドポイントを使用して、ユーザーに割り当てられたロールを検査し、その機能を判断できます。
  • Confluent Compatibility API のサポートの更新 - Service Registry は Confluent Schema Registry API バージョン 6 をサポートするようになりました。

Service Registry ユーザーのドキュメントおよび例

ドキュメントライブラリーは、バージョン 2.3 で利用可能な新機能で更新されました。

オープンソースのデモンストレーションアプリケーションも更新されました。

6.4. 非推奨となった Service Registry の機能

Service Registry バージョン 1.x
Service Registry バージョン 1.x は、バージョン 2.0 で廃止され、完全にサポートされなくなりました。詳細については、Red Hat Application Services Product Update and Support Policy を参照してください。

6.5. Service Registry デプロイメントのアップグレードと移行

6.5.1. OpenShift での Service Registry 2.0 デプロイメントのアップグレード

OpenShift 4.9 の Service Registry 2.0.3 から OpenShift 4.11 の Service Registry 2.3.0 にアップグレードできます。Service Registry と OpenShift の両方のバージョンをアップグレードし、OpenShift のマイナーバージョンを 1 つずつアップグレードする必要があります。

前提条件

  • すでに OpenShift 4.9 に Service Registry 2.0.3 がインストールされている。

手順

  1. OpenShift Container Platform Web コンソールで、Administration をクリックしてから Cluster Settings をクリックします。
  2. Channel フィールドの横にある鉛筆アイコンをクリックし、次のマイナー candidate バージョンを選択します (たとえば、stable-4.9 から candidate-4.10 に変更します)。
  3. Save をクリックしてから Update をクリックし、アップグレードが完了するまで待ちます。
  4. OpenShift のバージョンが 4.11 未満の場合は、手順 2 と 3 を繰り返して、candidate-4.11 を選択します。
  5. Operators > Installed Operators > Red Hat Integration - Service Registry をクリックします。
  6. Update channel2.x に設定されていることを確認します。
  7. Update approvalAutomatic に設定されている場合には、2.x チャネルが設定された直後にアップグレードを承認してインストールする必要があります。
  8. Update approvalManual に設定されている場合は、Install をクリックします。
  9. Operator がデプロイされ、Service Registry Pod がデプロイされるまで待ちます。
  10. Service Registry システムが稼働中であることを確認します。

関連情報

6.5.2. OpenShift での Service Registry 1.1 デプロイメントの移行

Service Registry バージョン 1.1 デプロイメントをバージョン 2.x に移行する方法の詳細は、Migrating Service Registry デプロイメント を参照してください。

6.6. Service Registry で解決された問題

表6.1 Service Registry core で解決された問題

問題説明

Registry-2394

コア v1 互換性の REST API エンドポイントが、認証で適切に保護されていない。

Registry-1959

Web コンソールが、HTTPS ではなく HTTP に誤ってリダイレクトする。

Registry-1926

Service Registry は、新しいアーティファクトのアップロード中に io.apicurio.registry.storage.ArtifactNotFoundException を出力する。

Registry-1905

Confluent 互換性レイヤーが JSON スキーマアーティファクトで機能しない。

Registry-1873

kafkasql レジストリーストレージオプションは、contentIdFromHash を照会するときに、Expecd one element, but found none 例外を出力します。

Registry-1660

Confluent 互換レイヤーのスキーマ DTO は完全には互換性がありません。

Registry-1610

Web コンソールはロールの無効化機能に沿って正しく動作しない。

Registry-1593

Confluent 互換性 API v6 はアーティファクトを返しません。

Registry- 733

sasl.jaas.config プロパティーを渡すと、JAVA_OPTIONS 環境変数が機能しません。

Registry-651

Web コンソールに一貫性のない modifiedOn 日付が表示される。

Registry-358

RuleApplicationType.CREATE のグローバル互換性ルールの実行が中断される。

Registry-342

推移的な互換性ルールでは、誤検知が発生する可能性があります。

6.7. Service Registry で解決された CVE

表6.2 Service Registry で解決された Common Vulnerabilities and Exposures (CVE)

問題説明

IPT-789

CVE-2022-25858 terser: 安全でない正規表現を使用すると ReDoS が発生する。

IPT-788

CVE-2022-37734 graphql-java: 悪意のあるクエリーが原因で DoS が発生する。

IPT-787

CVE-2022-25857 snakeyaml: コレクションのネストされた深さ制限の欠如による DoS。

IPT-764IPT-763

CVE-2022-31129 moment: 非効率的な解析アルゴリズムにより DoS が発生する。

IPT-760

CVE-2022-25647 com.google.code.gson-gson: 信頼されていないデータが逆シリアル化される。

IPT-739

CVE-2022-24773 node-forge: DigestInfo 構造のチェックにおける署名検証が厳密ではない

IPT-738

CVE-2022-24772 node-forge: 署名の検証が末尾のガベージバイトのチェックに失敗すると、署名の偽造につながる可能性がある。

IPT-737

CVE-2022-24771 node-forge: digestAlgorithm 構造のチェックにおける署名検証が厳密でないことが原因で署名偽造につながる可能性がある。

IPT-734

CVE-2022-26520 jdbc-postgresql: 任意のファイル書き込みの脆弱性。

IPT-733

CVE-2022-0536 follow-redirects: Authorization Header のリークによる機密情報の公開。

IPT-732

CVE-2022-0235 node-fetch: 権限のないアクターへの機密情報が公開される。

IPT-731

CVE-2022-23647 Prismjs: 不適切にエスケープされた出力により、XSS の脆弱性が発生する可能性がある。

IPT-728

CVE-2022-0981 quarkus: Quarkus の RestEasy Reactive スコープリークによる権限昇格の脆弱性がある。

IPT-723

CVE-2022-21724 quarkus-jdbc-postgresql-deployment: プラグインクラスを指定するときにクラスのインスタンス化がチェックされない。

IPT-705

CVE-2021-22569 protobuf-java: バイナリーデータの解析手順で DoS が発生する可能性がある。

IPT-652

CVE-2021-41269 cron-utils: 認証されていないリモートコード実行の脆弱性につながるテンプレートインジェクション。

IPT-566

CVE-2021-37136 netty-codec: Bzip2Decoder が圧縮したデータのサイズ制限を設定できない

IPT-564

CVE-2021-37137 netty-codec: SnappyFrameDecoder がチャンクの長さを制限せず、スキップ可能なチャンクを不要な方法でバッファーリングする可能性があります

6.8. Service Registry の既知の問題

Service Registry コアの既知の問題

Registry-2991 - 低速マシン上において、kafkasql ストレージは既存のメッセージに対して準備ができていません

低速コンピュートノードに Kafka ストレージを使用して Service Registry をデプロイすると、Kafka コンシューマースレッドの開始時に内部 H2 データベースの準備ができていない可能性があります。この場合、内部データベースでメッセージを保存する準備が整う前に、Service Registry が Kafka トピックからの既存のメッセージを消費する可能性があります。この不一致が原因で、スタックトレースが発生し、Service Registry ノードの起動に失敗する可能性があります。

これを回避するには、Service Registry の Kafka メッセージコンシューマースレッドの起動遅延を増やします。デフォルトで 100 ミリ秒に設定されている REGISTRY_KAFKASQL_CONSUMER_STARTUPLAG 環境変数の値を増やすことができます。

IPT-814 - Service Registry のログアウト機能が RH-SSO 7.6 と互換性がない

RH-SSO 7.6 では、ログアウトエンドポイントで使用される redirect_uri パラメーターが非推奨になりました。詳細は、RH-SSO 7.6 アップグレードガイド を参照してください。これは非推奨であるため、RH-SSO Operator を使用して Service Registry のセキュリティー保護を行っている場合、 Logout ボタンをクリックすると、Invalid parameter: redirect_uri エラーが表示されます。

回避策については、Service Registry (ApicurioRegistry) logout function is failing after securing with Red Hat Single Sign-On を参照してください。

IPT-701 - CVE-2022-23221 H2 により、JNDI を介してリモートサーバーからカスタムクラスをロードできます

Service Registry データが AMQ Streams に保存されている場合、H2 データベースコンソールにより、リモート攻撃者は JDBC URL を使用して任意コードを実行できます。Service Registry はデフォルトで脆弱ではなく、悪意のある設定変更が必要になります。

Service Registry Operator の既知の問題

Operator-42 - OpenShift ルートの自動生成では、間違ったベースホスト値が使用される可能性があります

複数の routerCanonicalHostname 値が指定されている場合、Service Registry OpenShift ルートの自動生成で間違ったベースホスト値が使用される可能性があります。

第7章 Red Hat Integration の Operator

Red Hat Integration 2022.q3 では、Red Hat Integration Operator 1.3 が導入されました。

Red Hat Integration は、OpenShift で Red Hat Integration コンポーネントのデプロイメントを自動化するために、operator を提供します。Red Hat Integration Operator を使用して、これらの Operator を管理できます。

そのため、各コンポーネント operator を個別に管理できます。ここでは operator を紹介し、operator を使用して Red Hat Integration コンポーネントをデプロイする方法の詳細へのリンクを記載します。

7.1. Operator とは

Operator は、Kubernetes アプリケーションのパッケージ化、デプロイメント、および管理を行う方法です。operator は運用上の人間の知識を仕様し、これをコンシューマーと簡単に共有できるソフトウェアにエンコードして、一般的なタスクや複雑なタスクを自動化します。

OpenShift Container Platform 4.x では、Operator Lifecycle Manager (OLM) を使用すると、ユーザーはすべての Operator とクラスター全体で実行される関連サービスをインストールおよび更新することができ、それらの Operator と関連サービスのライフサイクルを管理できます。これは、Kubernetes のネイティブアプリケーション (Operator) を効果的かつ自動化されたスケーラブルな方法で管理するために設計されたオープンソースツールキットである Operator Framework の一部です。

OLM は OpenShift Container Platform 4.x でデフォルトで実行されます。これは、クラスター管理者がクラスターで実行している Operator をインストールおよびアップグレードし、アクセスを付与するのに役立ちます。OpenShift Container Platform Web コンソールは、クラスター管理者が Operator をインストールし、クラスターで利用可能な Operator のカタログを使用するために特定のプロジェクトにアクセスを付与するための管理画面を提供します。

OperatorHub は、OpenShift クラスター管理者が Operator を検出、インストール、およびアップグレードするために使用するグラフィカルインターフェイスです。1 回クリックするだけで、これらの Operator を OpenHub からプルし、クラスターにインストールすることができ、OLM で Operator を管理することで、開発、テスト、および実稼働環境のソフトウェアをエンジニアリングチームが独自に管理することが可能です。

関連情報

7.2. Red Hat Integration コンポーネント Operator

たとえば、3scale Operator や Camel K Operator などを使用して、各 Red Hat Integration コンポーネント Operator を個別にインストールおよびアップグレードできます。

7.2.1. 3scale Operators

7.2.2. AMQ Operator

7.2.3. Camel K Operator

7.2.4. Fuse Operator

7.2.5. Service Registry Operator

7.3. Red Hat Integration Operator (非推奨)

Red Hat Integration Operator 1.3 を使用して、複数の Red Hat Integration コンポーネント Operator をインストールおよびアップグレードできます。

  • 3scale
  • 3scale APIcast
  • AMQ Broker
  • AMQ Interconnect
  • AMQ Streams
  • API Designer
  • Camel K
  • Fuse Console
  • Fuse Online
  • Service Registry
注記

Red Hat Integration Operator は非推奨となり、今後削除予定です。OpenShift 4.6 から 4.10 では、OperatorHub で利用できる予定です。個々の Red Hat Integration コンポーネント Operator は引き続きサポートされ、個別にインストールできます。

7.3.1. サポートされるコンポーネント

Red Hat Integration Operator 1.3 を使用して Operator をインストールする前に、コンポーネントのリリースノートで更新を確認します。サポートされるバージョンのリリースノートには、追加のアップグレード要件が記載されています。

AMQ Streams の新しい API バージョン

Red Hat Integration Operator 1.3 は、AMQ Streams 2.0 の Operator をインストールします。

AMQ Streams バージョン 1.8 以降にアップグレードする前に、API バージョン v1beta2 を使用するようにカスタムリソースをアップグレードする必要があります。

AMQ Streams 1.7 では、AMQ Streams カスタムリソースのスキーマを更新する v1beta2 API バージョンが導入されました。古い API バージョンは非推奨になりました。AMQ Streams 1.7 にアップグレードした後、AMQ Streams 2.0 にアップグレードする前に、API バージョン v1beta2 を使用するようにカスタムリソースをアップグレードする必要があります。

バージョン 1.7 より前の AMQ Streams バージョンからアップグレードする場合は、以下を行います。

  1. AMQ Streams 1.7 へのアップグレード
  2. カスタムリソースを v1beta2 に変換します。
  3. AMQ Streams 2.0 へのアップグレード

詳細は、以下のドキュメントを参照してください。

警告

カスタムリソースおよび CRD がバージョン v1beta2 に変換されていない場合、AMQ Streams Operator をバージョン 2.0 にアップグレードすると、クラスターに失敗します。アップグレードは Pending で停止します。この場合は、以下を実行します。

  1. Red Hat ソリューション (Forever pending cluster operator upgrade) で説明されている手順を実行します。
  2. Integration Operator をゼロにスケーリングしてから 1 に戻し、AMQ Streams 2.0 Operator のインストールをトリガーします。

Service Registry 2.0 の移行

Red Hat Integration Operator は Service Registry 2.0 をインストールします。

Service Registry 2.0 は、手動でアンインストールする必要がある Service Registry 1.x インストールを置き換えません。

Service Registry バージョン 1.x から 2.0 への移行に関する詳細は、Service Registry 2.0 release notes を参照してください。

7.3.2. サポートライフサイクル

サポート対象の設定を維持するには、最新の Red Hat Integration Operator バージョンをデプロイする必要があります。Red Hat Integration Operator の各リリースバージョンは 3 カ月間のみサポートされます。

7.3.3. 修正された問題

Red Hat Integration Operator 1.3 で修正された問題はありません。

関連情報

法律上の通知

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.