Red Hat Integration 2021.Q1 リリースノート
Red Hat Integration の新機能
概要
第1章 Red Hat Integration
Red Hat Integration は、ハイブリッド環境およびマルチクラウド環境全体でコンテナーベースの統合サービスを作成、拡張、デプロイするための包括的な統合およびイベント処理技術です。Red Hat Integration は、デジタル環境で必要となるアプリケーションとシステム間でデータを接続および共有するために組織が使用できる、アジャイルで API 中心の分散ソリューションを提供します。
Red Hat Integration には、以下の機能が含まれています。
- API の接続
- データの変換
- サービスの設定とオーケストレーション
- リアルタイムのメッセージング
- データセンター間のメッセージストリーミング
- API 管理
その他のリソース
第2章 本リリースの新機能
ここでは、Red Hat Integration 2021.Q1 の主な新機能の概要を説明し、異なるコンポーネントで利用可能な新機能の詳細へのリンクを提供します。
本リリースノートには、Red Hat Integration 2021.Q1 でのみ更新されたコンポーネントの詳細が含まれています。Service Registry などの他のコンポーネントの最新バージョンに関する詳細は、Red Hat Integration Release Notes for 2020-Q4 を参照してください。
2.1. インテグレーションの新機能
- Red Hat Integration Operator
- Red Hat Integration Operator 1.0 で Red Hat Integration コンポーネントを管理する OpenShift Operator のインストールおよびアップグレード
- データの統合
- Debezium 1.4 での変更データキャプチャーやリアルタイムイベント (新しい DB2 コネクターや Service Registry との統合を含む)
- Serverless Camel K
- Red Hat Integration - Camel K (テクノロジープレビュー) による Camel 3.7 をベースとしたサーバーレスアーキテクチャーのクラウドネイティブインテグレーション
- イベント駆動型の Camel Kafka コネクター
- Camel Kafka Connector (テクノロジープレビュー) により Camel コンポーネントを外部システムへの Kafka コネクターとして利用可能
2.2. コンポーネントの新機能
Red Hat Integration 2021.Q1 コンポーネントの新機能の詳細は、以下を参照してください。
第3章 Debezium リリースノート
Red Hat Integration 2021.Q1 には、Debezium オープンソースプロジェクトをベースとした、Debezium on OpenShift の GA (一般提供) リリースが含まれています。Debezium は、データベースの操作を追跡し、データ変更イベントをストリーミングする、分散型変更データキャプチャープラットフォームです。Debezium は Apache Karaf に構築され、AMQ Streams とデプロイおよび統合されます。
Debezium によって、データベーステーブルの行レベルの変更がキャプチャーされ、対応する変更イベントレコードが AMQ Streams に渡されます。アプリケーションはこれらの 変更イベントストリーム を読み取りでき、発生順に変更イベントにアクセスできます。
リリースの詳細は以下を参照してください。
3.1. Debezium データベースコネクター
Debezium は、以下の共通データベースの Kafka Connect をベースとしたコネクターを提供します。
- Db2
- MongoDB
- MySQL
- PostgreSQL
SQL Server
注記Db2 コネクターには、Linux 用の Db2 の標準部分として利用できる抽象構文表記 (ASN) ライブラリーを使用する必要があります。
- ASN ライブラリーを使用するには、IBM InfoSphere Data Replication (IIDR) のライセンスが必要です。
- ライブラリーを使用するために IIDR をインストールする必要はありません。
- 現在、MongoDB 4.2 で Debezium MongoDB コネクターのトランザクションメタデータ機能を使用することはできません。
-
Debezium PostgreSQL コネクターでは、PostgreSQL バージョン 10 以降のデフォルトである
pgoutput
論理デコーディング出力プラグインを使用する必要があります。
3.2. Debezium でサポートされる設定
サポートされるデータベースバージョンなどの、Debezium でサポートされる設定の詳細は Debezium 1.4 Supported Configurations のページを参照してください。
3.3. Debezium のインストールオプション
AMQ Streams で Debezium を OpenShift または RHEL にインストールできます。
- Installing Debezium on OpenShift(GA、一般提供)
- Installing Debezium on RHEL(テクノロジープレビュー)
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあります。Red Hat は、本番環境でのテクノロジープレビュー機能の実装は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
3.4. Debezium の新機能
Debezium 1.4 には、以下の更新が含まれています。
- GA (一般提供) への格上げ
これまでのリリースでテクノロジープレビューとして提供されていた以下の機能が、一般提供 (GA) で利用できるようになりました。
- Debezium Db2 コネクター
- IBM Db2 データベース用のコネクター (LUW)
- コンテンツベースルーター
- イベントコンテンツに基づいてデータ変更イベントレコードをトピックに再ルーティングするための単一メッセージ変換 (SMT、Single Message Transformation)。
- フィルター SMT
- 各変更イベントの式を評価し、評価結果に基づいてイベントを削除または出力します。
- Avro シリアライゼーション
- Avro を使用してメッセージキーおよび値をシリアライズする Debezium コネクターの設定をサポートします。
- テクノロジープレビューの機能
- CloudEvents コンバーター
- CloudEvents 仕様に準拠する変更イベントレコードが出力されます。Avro エンコーディングタイプが CloudEvents エンベロープ構造でサポートされるようになりました。
- 送信トレイ (Outbox) イベントルーター
- 複数の (マイクロ) サービス間でデータを安全かつ確実に交換するための送信トレイ (Outbox) パターンをサポートする SMT。
- Debezium のドキュメント
- Kafka Connect の自動トピック作成 を有効化およびカスタマイズする方法。
- Db2 および SQL Server のキャプチャージョブ設定がサーバーの負荷とレイテンシーにどのように影響するか。
第4章 Camel K リリースノート
Red Hat Integration - Camel K は、Red Hat Integration 2021.Q1 ではテクノロジープレビューのコンポーネントとして使用できます。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 とともに使用すると、システムのコンポーネントがサーバーレスアプリケーションのイベント駆動型アーキテクチャーで通信する方法を管理できます。これにより、イベントプロデューサーとコンシューマー間の関係が切り離されたパブリッシュ/サブスクライブモデルまたはイベントストリーミングモデルを使用すると、柔軟性を提供し、効率化を実現できます。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあります。Red Hat は、本番環境でのテクノロジープレビュー機能の実装は推奨しません。
テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
4.1. Camel K の新機能
テクノロジープレビューの Camel K は、以下の主要機能でクラウドネイティブインテグレーションを提供します。
4.1.1. プラットフォームおよびコアコンポーネントのバージョン
- OpenShift Container Platform 4.6 または 4.7
- OpenShift Serverless 1.13
- Quarkus 1.7 Java runtime
- Apache Camel K 1.3
- Apache Camel 3.7
- Apache Camel Quarkus 1.5
- OpenJDK 11
4.1.2. テクノロジープレビューの機能
- 自動スケーリングおよびゼロへのスケーリングを行うための Knative Serving
- イベント駆動型アーキテクチャーのための Knative Eventing
- デフォルトで Quarkus ランタイムを使用するパフォーマンスの最適化
- Java、XML、または YAML DSL で書かれた Camel インテグレーション
- Visual Studio Code での開発ツール
- OpenShift で Prometheus を使用したインテグレーションの監視
- 新しい Transformations や SaaS が含まれるクイックスタートチュートリアル
- AWS、Jira、Salesforce など、外部システムへのソースコネクターのための Kamelet Catalog
その他のリソース
4.1.3. Camel K Operator のメタデータ
テクノロジープレビューの Camel K には、OpenShift OperatorHub から Camel K をインストールするために使用される、更新された Operator メタデータが含まれています。この Operator メタデータには、OpenShift Container Platform 4.6 以降との使用を目的に設計されたリリースパッケージの Operator バンドル形式が含まれます。
4.2. 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-15787 - kamel run commmand does not work for remote files on Windows
Windows では、リモート Camel インテグレーションファイルの実行を試みると kamel run
コマンドでエラーが発生します。以下に例を示します。
> kamel run https://raw.githubusercontent.com/apache/camel-k/b29333f0a878d5d09fb3965be8fe586d77dd95d0/e2e/common/files/yaml.yaml panic: runtime error: invalid memory address or nil pointer dereference...
ENTESB-15858 - Added ability to package and run Camel integrations locally or as container images
ローカルでの Camel インテグレーションのパッケージ化および実行、またはコンテナーイメージとしての Camel インテグレーションのパッケージ化および実行は、現在テクノロジープレビューの Camel K には含まれておらず、コミュニティーのみによるサポートの対象となります。
詳細は Apache Camel K community を参照してください。
ENTESB-15893 - Camel K catalog contains camel-quarkus-spark reference and cannot deploy integrations with Apache Spark
Camel K カタログには、Camel Quarkus エクステンションの Bill of Materials (BOM) には含まれなくなった camel-quarkus-spark
コンポーネントが含まれています。Camel Quarkus の Spark コンポーネントを使用して Camel K インテグレーションをデプロイしようとすると、この依存関係がないため、インテグレーションをコンパイルできません。
詳細は Spark component in Camel Quarkus を参照してください。
ENTESB-15930 - Camel K dependency autoloading not working correctly with YAML format
YAML で書かれた Camel インテグレーションで - route
属性を使用すると、Camel K 依存関係の自動読み込みは正しく機能しません。しかし、代わりに - from
属性を使用すると、Camel K 依存関係の自動読み込みは正常に機能します。
詳細は Apache Camel K community を参照してください。
4.3. Camel K の修正された問題
テクノロジープレビューの Camel K では、以下の問題が修正されました。
4.3.1. CVE セキュリティー問題の修正
ENTESB-14997 - CVE-2020-25649 jackson-databind: FasterXML DOMDeserializer insecure entity expansion is vulnerable to XML external entity
FasterXML Jackson Databind で、エンティティー拡張のセキュリティーが適切に保護されていないという不具合が発見されました。この不具合により、XML 外部エンティティー (XXE) 攻撃に対して脆弱な状態でした。この脆弱性では、データの整合性が最も懸念されました。
第5章 Camel Kafka Connector リリースノート
Camel Kafka Connector は、Red Hat Integration 2021.Q1 のテクノロジープレビューコンポーネントとして使用できます。
注記: Camel Kafka Connector は、サポートされていないテクノロジープレビューリリース以降のリリースは予定されていません。
Camel Kafka Connector を使用すると、Kafka Connect で標準の Camel コンポーネントをコネクターとして設定できます。これにより、可能なインテグレーションの範囲が、Kafka Connect のみによってサポートされる外部システム以外にも広がります。
Camel Kafka Connector を使用すると、Kafka Connect フレームワークで Camel コンポーネントを直接設定するのがより簡単になります。Camel Kafka シンクまたはソースコネクターを接続元または接続先とすることで、Camel コンポーネントを利用して異なるシステムとの統合を行うことができます。コードを作成する必要はありません。また、適切なコネクター JAR を Kafka Connect イメージに含めることができ、カスタムリソースを使用してコネクターオプションを設定できます。
Camel Kafka Connector は、Apache Camel オープンソースコミュニティーのサブプロジェクトである Apache Camel Kafka Connector 上に構築されます。Camel Kafka Connector は、OpenShift Container Platform、AMQ Streams、および Kafka Connect と完全に統合されています。OpenShift 上のクラウドネイティブインテグレーションでは、Red Hat Integration - Camel K ディストリビューションにて Camel Kafka Connector を利用できます。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあります。Red Hat は、本番環境でのテクノロジープレビュー機能の実装は推奨しません。
サポート範囲の詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
5.1. Camel Kafka Connector の新機能
テクノロジーリビューの Camel Kafka Connector には、以下の主要機能が含まれています。
5.1.1. プラットフォームおよびコアコンポーネントのバージョン
- OpenShift Container Platform 4.6 または 4.7
- Red Hat Enterprise Linux 8.x
- AMQ Streams 1.6
- Apache Kafka Connect 2.6
- Apache Camel Kafka Connector 0.7.1
- Apache Camel 3.7
- OpenJDK 11
5.1.2. テクノロジープレビューの機能
- 一部の Camel Kafka コネクター
- シンクおよびソースコネクターの Camel データフォーマットのマーシャリング/アンマーシャリング
- シンクコネクターの集約
- コネクターを拡張するための Maven archetype
5.1.3. テクノロジープレビューの Camel Kafka コネクター
表5.1 テクノロジープレビューの Camel Kafka コネクター
コネクター | シンク/ソース |
---|---|
Amazon Web Services (AWS2) Kinesis | シンクおよびソース |
Amazon Web Services (AWS2) S3 | シンクおよびソース |
Amazon Web Services (AWS2) SNS | シンクのみ |
Amazon Web Services (AWS2) SQS | シンクおよびソース |
Azure Storage Blob | シンクのみ |
Azure Storage Queue | シンクのみ |
Cassandra Query Language (CQL) | シンクおよびソース |
Elasticsearch | シンクのみ |
File | シンクのみ |
Hadoop Distributed File System (HDFS) | シンクのみ |
Hypertext Transfer Protocol (HTTP) | シンクのみ |
Java Database Connectivity (JDBC) | シンクのみ |
Java Message Service (JMS) | シンクおよびソース |
MongoDB | シンクおよびソース |
RabbitMQ | シンクおよびソース |
SQL | シンクおよびソース |
SSH | シンクおよびソース |
Syslog | シンクおよびソース |
Timer | ソースのみ |
その他のリソース
5.2. Camel Kafka Connector の修正された問題
テクノロジープレビューの Camel Kafka Connector では、以下の問題が修正されました。
5.2.1. CVE セキュリティー問題の修正
ENTESB-14997 - CVE-2020-25649 jackson-databind: FasterXML DOMDeserializer insecure entity expansion is vulnerable to XML external entity
FasterXML Jackson Databind で、エンティティー拡張のセキュリティーが適切に保護されていないという不具合が発見されました。この不具合により、XML 外部エンティティー (XXE) 攻撃に対して脆弱な状態でした。この脆弱性では、データの整合性が最も懸念されました。
第6章 Red Hat Integration の Operator
Red Hat Integration は、OpenShift で Red Hat Integration コンポーネントのデプロイメントを自動化するために、operator を提供します。Red Hat Integration Operator を使用して、複数のコンポーネント operator を管理できます。そのため、各コンポーネント operator を個別に管理できます。ここでは operator を紹介し、operator を使用して Red Hat Integration コンポーネントをデプロイする方法の詳細へのリンクを記載します。
6.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 を管理することで、開発、テスト、および実稼働環境のソフトウェアをエンジニアリングチームが独自に管理することが可能です。
関連情報
- Operator に関する詳細は、OpenShift のドキュメント を参照してください。
6.2. Red Hat Integration Operator
Red Hat Integration Operator を使用して、複数の Red Hat Integration コンポーネント Operator をインストールおよびアップグレードできます。
- 3scale
- 3scale APIcast
- AMQ Broker
- AMQ Interconnect
- AMQ Streams
- API Designer
- Camel K
- Fuse Console
- Fuse Online
- Service Registry
6.2.1. サポートライフサイクル
サポート対象の設定を維持するには、最新の Red Hat Integration Operator バージョンをデプロイする必要があります。Red Hat Integration Operator の各リリースバージョンは 3 カ月間のみサポートされます。
その他のリソース
- 複数の Red Hat Integration コンポーネント Operator の管理に関する詳細は、Installing the Red Hat Integration Operator on OpenShift を参照してください。
6.3. Red Hat Integration コンポーネント Operator
たとえば、3scale Operator や Camel K Operator などを使用して、各 Red Hat Integration コンポーネント Operator を個別にインストールおよびアップグレードできます。
6.3.1. 3scale Operators
6.3.2. AMQ Operator
6.3.3. Camel K Operator
6.3.4. Fuse Operator
6.3.5. Service Registry Operator
関連情報
- 複数の Red Hat Integration コンポーネント Operator の管理に関する詳細は、Installing the Red Hat Integration Operator on OpenShift を参照してください。