Red Hat Integration 2021.Q3 リリースノート

Red Hat Integration 2021.Q3

Red Hat Integration の新機能

概要

Red Hat Integration プラットフォームについて説明し、本リリースの新機能について最新情報を提供します。

第1章 Red Hat Integration

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

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

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

第2章 本リリースの新機能

ここでは、Red Hat Integration 2021.Q3 の主な新機能の概要を説明し、異なるコンポーネントで利用可能な新機能の詳細へのリンクを提供します。

注記

本リリースノートには、Red Hat Integration 2021.Q3 でのみ更新されたコンポーネントの詳細が含まれています。Debezium、Camel K、Camel Quarkus などの他のコンポーネントの最新バージョンに関する詳細は、『Red Hat Integration Release Notes for 2021-Q1』および『Red Hat Integration Release Notes for 2021-Q2』を参照してください。

2.1. インテグレーションの新機能

Kafka スキーマレジストリー
Camel Quarkus エクステンション
Red Hat Integration Operator
  • Red Hat Integration Operator 1.1 で Red Hat Integration コンポーネントを管理する OpenShift Operator のインストールおよびアップグレード

2.2. コンポーネントの新機能

Red Hat Integration 2021.Q3 コンポーネントの新機能の詳細は、以下を参照してください。

第3章 Camel Quarkus リリースノート

Camel Quarkus は、Red Hat Integration 2021.Q3 のテクノロジープレビューコンポーネントとして使用できます。

注記

このテクノロジープレビューでは、Camel Quarkus は JVM モードでのみサポートされます。

Camel Quarkus は、Apache Camel とその vast コンポーネントライブラリーの統合機能を Quarkus ランタイムに提供します。Camel Quarkus を使用すると、Quarkus が提供するパフォーマンス上の利点、開発者としての楽しさ、コンテナーを第一とする精神を活用できます。

Camel Quarkus は、Quarkus ディストリビューションのユニットである Quarkus エクステンションを提供します。エクステンションは、Quarkus アプリケーションで Camel コンポーネントを設定、起動、および統合し、通常プロジェクトの依存関係として設定されます。

Camel Quarkus は、Camel 3 に追加された多くのパフォーマンスパフォーマンスの改善点を活用します。これにより、メモリーフットプリントが削減され、リフレクションへの依存が減り、起動時間が短縮されます。

重要

テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあります。Red Hat は、本番環境でのテクノロジープレビュー機能の実装は推奨しません。

テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。

3.1. Camel Quarkus の機能

テクノロジープレビューの Camel Quarkus は、以下の主要機能を提供します。

3.1.1. プラットフォームおよびコアコンポーネントのバージョン

  • OpenShift Container Platform 4.6 または 4.7
  • Red Hat ビルドの Quarkus 1.11.7
  • Apache Camel 3.10
  • Apache Camel Quarkus 1.8.1
  • OpenJDK 11

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

高速起動および低 RSS メモリー
Quarkus の最適化されたビルド時機能および事前 (AOT) コンパイル機能を使用すると、Camel アプリケーションはビルド時に事前設定できるため、起動時間が短縮されます。
優れた設定可能性

Camel Quarkus アプリケーションの重要な要素はすべて、CD I(Contexts and Dependency Injection) または設定プロパティーを使用してプログラムで設定することができます。デフォルトでは、CamelContext が設定され、自動的に起動されます。

アプリケーションのブートストラップおよび設定に関する詳細は、『Quarkus アプリケーションの設定』ガイドを参照してください。

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

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

  • camel-quarkus-aws2-ddb
  • camel-quarkus-aws2-kinesis
  • camel-quarkus-aws2-lambda
  • camel-quarkus-aws2-s3
  • camel-quarkus-aws2-sns
  • camel-quarkus-aws2-sqs
  • camel-quarkus-bean
  • camel-quarkus-core
  • camel-quarkus-direct
  • camel-quarkus-elasticsearch-rest
  • camel-quarkus-file
  • camel-quarkus-ftp
  • camel-quarkus-http
  • camel-quarkus-jira
  • camel-quarkus-jms
  • camel-quarkus-jta
  • camel-quarkus-kafka
  • camel-quarkus-kamelet
  • camel-quarkus-log
  • camel-quarkus-main
  • camel-quarkus-microprofile-health
  • camel-quarkus-microprofile-metrics
  • camel-quarkus-mllp
  • camel-quarkus-mock
  • camel-quarkus-mongodb
  • camel-quarkus-netty
  • camel-quarkus-platform-http
  • camel-quarkus-rest
  • camel-quarkus-salesforce
  • camel-quarkus-saxon
  • camel-quarkus-seda
  • camel-quarkus-sql
  • camel-quarkus-timer
  • camel-quarkus-xpath

3.1.4. テクノロジープレビューのデータフォーマット

  • camel-quarkus-avro
  • camel-quarkus-jackson-avro
  • camel-quarkus-bindy
  • camel-quarkus-hl7
  • camel-quarkus-jackson
  • camel-quarkus-jacksonxml
  • camel-quarkus-jackson-protobuf
  • camel-quarkus-soap

3.1.5. テクノロジープレビューの言語

  • Constant
  • ExchangeProperty
  • File
  • Header
  • Ref
  • Simple
  • Tokenize
  • JSON Path

3.1.6. 重要事項

Camel Quarkus エクステンションディストリビューションの Integration TP2 リリースにおける重要事項

Red Hat Enterprise Linux (RHEL) のサポート
RHEL 8 は、この TP2 リリースでサポートされます。
SOAP プロキシーの例はサポートされません。
この TP2 リリースでは、Camel Quarkus SOAP data format のドキュメントからのアップストリームリンクで参照されるプロキシーの例はサポートされていません。

第4章 Debezium リリースノート

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

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

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

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

  • Db2
  • MongoDB
  • MySQL
  • Oracle (開発者プレビュー)
  • PostgreSQL
  • SQL Server

    注記
    • Db2 コネクターには、Linux 用の Db2 の標準部分として利用できる抽象構文表記 (ASN) ライブラリーを使用する必要があります。

      • ASN ライブラリーを使用するには、IBM InfoSphere Data Replication (IIDR) のライセンスが必要です。
      • ライブラリーを使用するために IIDR をインストールする必要はありません。
    • 現在、MongoDB 4.2 で Debezium MongoDB コネクターのトランザクションメタデータ機能を使用することはできません。
    • Debezium PostgreSQL コネクターでは、PostgreSQL バージョン 10 以降のデフォルトである pgoutput 論理デコード出力プラグインを使用する必要があります。
    • Debezium Oracle コネクターを使用するには、Oracle から Oracle JDBC ドライバー (ojdbc8.jar) のコピーをダウンロードする 必要があります。

4.2. Debezium でサポートされる構成

サポートされるデータベースバージョンなどの、Debezium でサポートされる構成の詳細は「Debezium 1.5 Supported Configurations」のページを参照してください。

AMQ Streams の新たな API バージョン

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

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

詳細は、『Debezium User Guide』を参照してください。

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

AMQ Streams で Debezium を OpenShift または RHEL にインストールできます。

重要

テクノロジープレビュー機能および開発者プレビュー機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。Red Hat は、本番環境でのテクノロジープレビュー機能または開発者プレビュー機能の実装は推奨しません。テクノロジープレビュー機能および開発者プレビュー機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。

4.4. Debezium の新機能

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

GA (一般提供) への格上げ

これまでのリリースでテクノロジープレビューとして提供されていた以下の機能が、一般提供 (GA) で利用できるようになりました。

Debezium の RHEL へのインストール
Red Hat Enterprise Linux 上での Debezium
テクノロジープレビューの機能
CloudEvents コンバーター
CloudEvents 仕様に準拠する変更イベントレコードが出力されます。Avro エンコーディングタイプが CloudEvents エンベロープ構造でサポートされるようになりました。
送信トレイ (Outbox) イベントルーター
複数の (マイクロ) サービス間でデータを安全かつ確実に交換するための送信トレイ (Outbox) パターンをサポートする SMT。
開発者プレビュー機能
Debezium Oracle コネクター

Oracle Database のコネクター本リリースでは、コネクターは以下の機能を提供します。

  • 安定性の向上。
  • 改善された DML ステートメントパーサー。
  • 同じデータベースまたはプラグ可能なデータベース内の複数のスキーマから変更をキャプチャーする機能。
  • 新しいパフォーマンス関連の JMX メトリクス。
  • time.precision.mode プロパティーで一時的な値の精度を設定する機能。
  • 複数のアーカイブプロセス (ARC) プロセスを実行する環境との互換性。
  • 複数のアーカイブログの宛先でメッセージを処理する機能 (Oracle Data Guard と連携)。
Debezium のドキュメント

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

5.1. Camel K の新機能

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

  • 自動スケーリングおよびゼロへのスケーリングを行うための Knative Serving
  • イベント駆動型アーキテクチャーのための Knative Eventing
  • デフォルトで Quarkus ランタイムを使用するパフォーマンスの最適化
  • Java または YAML DSL で書かれた Camel インテグレーション
  • OpenShift で Prometheus を使用したインテグレーションのモニタリング
  • クイックスタートチュートリアル
  • AWS、Jira、Salesforce などの外部システムへのコネクター用 Kamelet Catalog
  • 以下のトレイトがテクノロジープレビューとして提供されます。

    • Knative Service トレイト
    • Knative トレイト
    • OpenAPI トレイト

5.1.1. サポート対象の Kamelets

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

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

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

重要

アスタリスク (*) のマークが付いた Kamelets は、テクノロジープレビュー機能としてのみ提供されています。テクノロジープレビュー機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。Red Hat は実稼働環境でこれらを使用することを推奨していません。

このような機能は、近々発表予定の製品機能をリリースに先駆けてご提供します。これにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。

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

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

AWS 2 S3

aws-s3-source.kamelet.yaml

aws-s3-sink.kamelet.yaml

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

ソース/シンク

AWS 2 Kinesis

aws-kinesis-sink.kamelet.yaml

aws-kinesis-source.kamelet.yaml

ソース/シンク

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-sqs-source.kamelet.yaml

ソース/シンク

Cassandra*

cassandra-sink.kamelet.yaml

cassandra-source.kamelet.yaml

ソース/シンク

データベース (PostgreSQL、MySQL、または SQL Server)

postgresql-sink.kamelet.yaml

mysql-sink.kamelet.yaml

sqlserver-sink.kamelet.yaml

シンク

Elasticsearch*

elasticsearch-index-sink.kamelet.yaml

シンク

(S)FTP

ftp-sink.kamelet.yaml

ftp-source.kamelet.yaml

sftp-sink.kamelet.yaml

sftp-source.kamelet.yaml

ソース/シンク

HTTP

http-sink.kamelet.yaml

シンク

Jira*

jira-source.kamelet.yaml

ソース

JMS

jms-amqp-10-sink.kamelet.yaml

jms-amqp-10-source.kamelet.yaml

ソース/シンク

Kafka

kafka-source.kamelet.yaml

kafka-sink.kamelet.yaml

ソース/シンク

MongoDB

mongodb-sink.kamelet.yaml

mongodb-source.kamelet.yaml

ソース/シンク

Salesforce

salesforce-source.kamelet.yaml

ソース

Telegram*

telegram-source.kamelet.yaml

ソース

正規表現ルーター

regex-router-action.yaml

アクション (ルーター)

TimeStamp

timestamp-router-action.yaml

アクション (ルーター)

Message TimeStamp

message-timestamp-router-action.yaml

アクション (ルーター)

述語フィルター

predicate-filter-action.yaml

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

トピック名フィルター

topic-name-matches-filter-action.yaml

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

ヘッダーキーフィルター

has-header-filter-action.yaml

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

廃棄フィルター

is-tombstone-filter-action.yaml

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

Value to Key

value-to-key-action.kamelet.yaml

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

フィールドのマスク

mask-field-action.kamelet.yaml

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

ヘッダーの挿入

insert-header-action.kamelet.yaml

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

フィールドの挿入

insert-field-action.kamelet.yaml

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

Avro デシリアライズ/シリアライズ

avro-deserialize-action.yaml

avro-serialize-action.kamelet.yaml

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

Protobuf デシリアライズ/シリアライズ

protobuf-deserialize-action.yaml

protobuf-serialize-action.yaml

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

JSON デシリアライズ/シリアライズ

json-deserialize-action.yaml

json-serialize-action.yaml

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

5.2. サポートされる構成

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

5.2.1. Camel K Operator のメタデータ

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

5.3. 重要事項

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

Camel K でサポートされる Enterprise Integraion Patterns (EIP)

以下を除くすべての Camel 3 EIP パターン は、Camel K で完全にサポートされています。

  • サーキットブレーカー
  • Saga
  • Change Data Capture の変更
YAML DSL の制限
YAML DSL インテグレーションは Camel K 1.4 でサポートされていますが、誤った YAML DSL コードのエラーメッセージは引き続き開発中です。
JAVA DSL の制限
Camel K 1.4 の Java DSL は、単一のクラス/設定メソッドに限定され、すべてのユーティリティーはサードパーティー JARS で提供する必要があります。Camel K の依存関係の自動サポートのためには、エンドポイント URI はエンドポイント文字列に直接定義する必要があります。そうでないと、依存関係をモードラインに指定する必要があります。
XML DSL はサポートされません。
XML DSL は Camel K 1.4 ではサポートされません。

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

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

注記

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

5.3.1.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

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

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

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

名前パッケージ

Avro

camel-quarkus-avro

Bindy (CSV 用)

camel-qaurkus-bindy

JSON Jackson

camel-quarkus-jackson

Jackson Avro

camel-quarkus-jackson-avro

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

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

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

5.3.1.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 トレイト

5.4. Camel K の既知の問題

Red Hat Integration 1.4 の既知の問題は以下のとおりです。

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-15893 - Camel K catalog contains camel-quarkus-spark reference and cannot deploy integrations with Apache Spark

Camel K カタログには camel-quarkus-spark コンポーネントが含まれており、これは Camel Quarkus エクステンションの BOM(Bill of Materials)に含まれなくなりました。Camel Quarkus の Spark コンポーネントを使用して Camel K インテグレーションをデプロイしようとすると、この依存関係がないため、インテグレーションをコンパイルできません。

詳細は「Spark component in Camel Quarkus」を参照してください。

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-17071 - Azure storage kamelets doesn’t work

Azure storage kamelet は、バインディング時にエラーを生成します。回避策として、Kamelet カタログ から azure storage kamelet をコピーし、これを Operator がデフォルトでインストールする kamelet に置き換えます。次に、Kamelets のユーザーガイド の説明に従ってください。

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 ルートを実行することはできません。コンポーネントの一部には管理者の認証情報が必要なため、非管理者ユーザーとしてルートを実行することはできません。

2492 - Within a kamelet binding, Camel components in URIs require dependency declarations

Camel K Operator は、実行時に kamelet バインディングからインテグレーションを生成します。kamelet バインディングによって生成されないインテグレーションでは、Camel K は自動的に依存関係管理を処理し、Camel カタログから必要なライブラリーをすべてインポートします。ただし、kamelet バインディング内の URI で参照する Camel コンポーネントを依存関係として指定する必要があります。

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

以下のセクションには、Red Hat Integration 1.4.0 で修正された問題が記載されています。

5.5.1. Red Hat Integration 1.4.0 での機能拡張

以下の表に Red Hat Integration 1.4.0 で改良された機能を示します。

表5.2 Red Hat Integration での機能拡張

問題説明

ENTESB-14370

Camel-K のシームレスなアップグレード

ENTESB-16956

「pull secret」トレイトプロパティーのテスト未実施

ENTESB-16567

Kamelets デバッグ方法の文書化

ENTESB-16351

Camel K のクリーンアップ設定オプション

ENTESB-16316

CAMEL-16474 のバックポート: camel-azure - Blob コンシューマーはスケジュールされたエンドポイントを拡張する必要がある

ENTESB-14412

Operator の要求および制限の指定

ENTESB-14218

[可視性] Camel K の ootb メトリクスの提供

ENTESB-16348

ルートテンプレートのローカル Bean のサポート

5.5.2. Red Hat Integration 1.4.0 の機能リクエスト

以下の表に Red Hat Integration 1.4.0 の機能リクエストを示します。

表5.3 Red Hat Integration 1.4.0 の機能リクエスト

問題説明

ENTESB-16704

MongoDB kamelet の作成

ENTESB-16701

カスタム Bean およびドライバーの Kamelets サポート

ENTESB-16420

ダウンストリームカタログへの HTTP シンク kamelet のマージ

ENTESB-16318

Camel AWS2-S3 のストリームアップロードのバックポート

ENTESB-16435

Camel K インテグレーションが JDBC データベースにアクセスする方法を示す例の提供

ENTESB-16436

Camel K インテグレーションが JMS ブローカーにアクセスする方法を示す例の提供

ENTESB-16419

Kamelets でのエラー処理

ENTESB-16306

Kamelet カタログの作成

5.5.3. Red Hat Integration 1.4.0 で解決されたバグ

以下の表に Red Hat Integration 1.4.0 で解決されたバグを示します。

表5.4 Red Hat Integration 1.4.0 で解決されたバグ

問題説明

ENTESB-15787

Windows のリモートファイルで kamel run が動作しない

ENTESB-15741

Camel 3 の障害テスト: infinispan

ENTESB-17032

olm manual upgrade techpreview → 1.4.x does not work(OLM の手動アップグレード techpreview → 1.4.x が機能しない)

ENTESB-16749

YAKS の KameletSpec で「type」フィールドが認識されない

ENTESB-16991

org.amqphub.quarkus:quarkus-qpid-jms からクライアントを継承するように JMS の依存関係を変更

ENTESB-16772

lambda: ランタイム時に CamelAwsLambdaZipFile ヘッダーの使用に失敗する

ENTESB-15278

Camel 3 のテスト失敗: mina

ENTESB-15800

camel-K: バイナリーデータのシークレットをマウントできない

ENTESB-17113

kamel グローバル Operator

ENTESB-17076

AMQP Kamelet: qpid-jms-client 依存関係が見つからない

ENTESB-16950

insert-header-action kamelet を使用しない場合、aws-kinesis-sink を使用した KameletBinding が NPE をスローする

ENTESB-16930

InMemoryChannel ソースで使用される場合に SQL Kamelet のポートがオーバーライドされる

ENTESB-17005

catalog.version には、ビルド 7 の redhat サフィックスがない

ENTESB-17086

1.3.3 から 1.4.0 にアップグレードできない

ENTESB-16882

Kamelet-catalog で Install Kafka の実行に失敗する

ENTESB-16878

Saleforce kamelet が CREATED ではなく UNAUTHORIZED を返す

ENTESB-16820

camel-k-example-knative: cautious-investor ポッドの例外

ENTESB-16291

Azure Storage Queue: 3.9.0 で null クライアントが原因で Camel の起動に失敗する

ENTESB-16317

CAMEL-16498 のバックポート: Camel-Azure-Storage-queue コンシューマーが動作しない

ENTESB-15930

依存関係の自動読み込みが YAML 形式で正常に動作しない

ENTESB-16068

OLM=true の場合に、Kamelets がグローバルインストールモードで github/apache/camel-kamelets で検索される

ENTESB-16437

ポストアクションの実行時に kamel グローバル Operator でエラーが生じる: リソース作成時のエラー: デプロイメント

ENTESB-16430

プルシークレットトレイトは予想通りに機能しない

ENTESB-16584

YAML 形式で記述された Cron ジョブが正しく動作しない

ENTESB-16422

camel-k-example-saas: loginUrl を 1.4.0 で指定する必要がある

ENTESB-16432

AWS Kinesis kamelet が、記録のロギング中に org.apache.camel.NoTypeConversionAvailableException をスローする

ENTESB-16424

camel-k-example-api: 指定したバケットが 1.4.0 で存在しない

ENTESB-16289

Camel-K: Camel が起動できない場合にインテグレーションが Failed と識別されない

ENTESB-16879

AWS-Kinesis kamelet NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonKey

ENTESB-16887

camel-k-example-event-streaming: sjms2 Error - Unknown parameters=[{ttl=…​}]

ENTESB-16900

Prometheus トレイト: ユーザーによって設定された場合、自動的に推定された「enabled」プロパティーによりエラーが発生する

ENTESB-16999

artemis シンクとソース kamelets の削除

ENTESB-16998

KafkaTopic から elasticsearch-index-sink への KameletBinding に、ユーザーパラメーターが必要

ENTESB-17120

camel-k-example-event-streaming open-aq-consumer が、api.openaq.org で 503 と共に失敗する

ENTESB-17031

InMemoryChannel で使用された場合、http-sink kamelet の CamelHttpUri がオーバーライドされる

ENTESB-16982

kamel bind errorHandler is empty

ENTESB-16918

Windows のリモートファイルで kamel run が動作しない (ソースを読み取ることができない)

ENTESB-17040

Kamelet elasticsearch-index-sink が indexid として exchangeid を使用できない

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

Red Hat Integration - Service Registry 2.0 は、Red Hat Integration 2021.Q3 の一般公開 (GA) コンポーネントとして使用できます。Service Registry は、Apicurio Registry オープンソースコミュニティープロジェクトをベースとする標準イベントスキーマおよび API デザインのデータストアです。

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

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

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

表6.1 Service Registry ストレージのオプション

ストレージオプションリリースカテゴリー

AMQ Streams 1.7

一般公開 (GA)

PostgreSQL 12 database

一般公開 (GA)

6.2. Service Registry の新機能

Service Registry のセキュリティー

  • Red Hat Single Sign-On に基づく認証: オプションでレジストリーを保護するため、REST API でユーザーを認証する必要があります (OAuth と HTTP Basic はサポートされます)。
  • ロールベースの承認: 認証が有効な場合、ユーザーは sr- admin、sr-developer、または sr-readonly の少なくとも 1 つのロールが必要です。
  • 作成者のみの承認 - 認証されたユーザーがアーティファクトを元々作成しない限り、アーティファクトへの変更が阻止されるオプション。

Service Registry コア

  • レジストリーアーティファクトグループ - オプションでスキーマと API アーティファクトをカスタムの名前付きの論理グループへ整理
  • リファクタリングされた Kafka シリアライザー/デシリアライザー (SerDe) クラス - 使いやすく、一貫性、機能に対処するための Java SerDe レイヤーへの大幅な更新
  • イベントソーシング - CloudEvents 仕様に基づいて変更が行われるたびにイベントをトリガーするようにレジストリーを設定するオプション。

Service Registry データストレージ

  • SQL ベースのストレージ - PostgreSQL データベースをサポートする新しい SQL ストレージ実装
  • Kafka ベースのストレージ - AMQ Streams を使用してアーティファクトデータと組み込み SQL データベースを保存し、メモリーに表す組み込み SQL データベースを使用した新しいハイブリッドストレージ

Service Registry v2 REST API

  • カスタムバージョン管理 - REST API を使用してアーティファクトを作成または更新する際に、カスタムバージョン番号を提供するオプション
  • アーティファクト検索の改善 - REST API への更新により、アーティファクトの検索が改善
  • Import/export API: レジストリーデータをエクスポートおよびインポートする操作が含まれる REST API へ、.zip 形式で更新します。
  • CNCF Schema Registry API のサポート - Cloud Native Computing Foundation Schema Registry REST API の実装

    注記

    Service Registry v2 REST API は、新しいアーティファクトグループを含まない Confluent Schema Registry REST API と互換性があります。後方互換性は、既存の Service Registry v1 REST API で維持されます。

Service Registry Operator

  • パフォーマンスおよびストリーミングの強化: OperatorOpenShiftDeploymentConfigではなく)、予測可能なリソース命名(ランダムサフィックスなし)、および並行して作成されたリソースを使用します。
  • レジストリーデータストレージ - 新しい SQL および Kafka ベースのストレージオプションのサポート。
  • レジストリーセキュリティー - Red Hat Single Sign-On を使用した認証および承認設定のサポート。
  • ApicurioRegistry CRD v1: status ブロックで標準化された 条件 フィールドを使用して、Operator またはアプリケーションの問題またはエラーをより適切に示します。
  • マルチ namespace デプロイメント: Operator が namespace にインストールされている場合、すべての namespace (または選択したサブセット) を監視することができ、アプリケーションはすべてまたは複数の namespace にデプロイすることができます。

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

  • OpenShift Container Platform 4.6 または 4.7
  • OpenJDK 11
  • AMQ Streams 1.7
  • PostgreSQL 12
  • Debezium 1.4
  • Camel Kafka Connector - テクノロジープレビュー

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

6.3. 非推奨および削除された Service Registry の機能

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

Service Registry で削除された機能

  • Infinispan のキャッシュベースのストレージオプションが削除されました。
  • Java Persistence API (JPA) ストレージオプションが、新しい PostgreSQL データベースストレージオプションに置き換えられました。
  • AMQ Streams の Kafka ベースのストレージオプションは、インメモリー H2 データベースを使用した AMQ Streams の新しいハイブリッドストレージ オプションに置き換えられました。
  • Service Registry Java クライアントは OpenJDK 8 に対応しなくなり、代わりに OpenJDK 11 をサポートするようになりました。

6.4. Service Registry デプロイメントの移行

Service Registry バージョン 1.1 から 2.x への移行に関する詳細は、『Migrating Service Registry deployments』を参照してください。

Service Registry バージョン 2.x インスタンス間でのレジストリーデータの移行に関する詳細は、「Exporting and importing registry content using the Registry REST API」を参照してください。

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

Service Registry core で解決された問題

Registry-1289 - Registry does not work on IPv6

Internet Protocol v6 を使用する Kubernetes サーバーに Service Registry をデプロイしようとすると、レジストリーサーバーが起動に失敗します。

Registry-1151 - Error fetching JavaScript libraries when running in a closed network

閉じられたネットワークで実行する場合、Redoc JavaScript ライブラリは、アプリケーションに組み込まれたりバンドルされたりするのではなく、CDN を参照するため、正しく読み込まれません。

Registry-1007 - Registry REST API returns 406 error

レジストリー REST API は、Accept: application/json ヘッダーがリクエストに含まれ ると、406 エラーを返します。

Registry-711 - Service Registry client does not work with Jersey HTTP client

Jersey プロバイダーと RESTEasy JAX-RS プロバイダーがクラスパスの両方にある場合、RESTEasy は優先されるため、アプリケーション/octet-stream トランスポートに Jersey クライアントサポートに依存する他の HTTP クライアント機能が壊れます。

Service Registry Operator で解決された問題

Operator-41 - Example CRD should not be empty

提供されているサンプル ApicurioRegistry カスタムリソース定義は空にできません。

6.6. Service Registry の既知の問題

Service Registry コアの既知の問題

Registry-1610 - Service Registry web console does not properly disable user roles for authorization

Service Registry サーバーを設定して、ロールベースの承認を無効にできます。設定されると認証のクレデンシャルが必要ですが、ロールは無視され、認証されたユーザーはすべてのアクションを実行できます。Web コンソールはこれをサポートしておらず、認証が有効な場合にロールベースの承認も有効になっていることを前提としています。

Registry-1619 - Service Registry server cannot be properly configured to require authentication without role-based authorization

Service Registry サーバーでロールベースの承認が無効になっている場合、認証も事実上無効になります。Quarkus で OpenID Connect が有効になっている場合でも、ユーザーはクレデンシャルを提供する必要はありません。ユーザーが無効なクレデンシャルを提供すると、要求は失敗します。ただし、ユーザーがクレデンシャルを提供しない場合は、匿名ユーザーの代わりに要求は成功します。また、ロールが無効になっているため、追加のチェックは行われません。

Service Registry operator の既知の問題

Operator-32 - Operator should support SCRAM authorization without TLS, not only SCRAM+TLS

Service Registry Operator は、SCRAM+TLS だけでなく、Transport Layer Security (TLS) を使用せずに Salted Challenge Response Authentication Mechanism (SCRAM) をサポートする必要があります。

Operator-42 - Auto-generation of OpenShift route may use wrong base host value

Service Registry OpenShift ルートの自動生成は、複数の routerCanonicalHostname の値がある場合に誤ったベースホスト値を使用する場合があります。

第7章 Red Hat Integration の Operator

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

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

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

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

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

AMQ Streams の新たな API バージョン

Red Hat Integration Operator は AMQ Streams 1.7 をインストールします。

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

詳細は、「Introducing the v1beta2 API version」を参照してください。

Service Registry 2.0 の移行

Red Hat Integration Operator は Red Hat Integration 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.2.2. サポートライフサイクル

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

7.2.3. 既知の問題

ENTMQST-3047: AMQ Streams 1.7.2 Operator が他の Operator のインストールをブロックする

OpenShift Container Platform 4.7 では、クラスターモードの AMQ Streams 1.7.2 Operator は、他のクラスターモードの Operator のインストールをブロックします。

その他のリソース

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

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

7.3.1. 3scale Operators

7.3.2. AMQ Operator

7.3.3. Camel K Operator

7.3.4. Fuse Operator

7.3.5. Service Registry Operator

その他のリソース