第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

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