イベントソース¶
イベントソースは、開発者またはクラスター管理者によって作成された Kubernetes カスタムリソース (CR) であり、イベントプロデューサーとイベント *シンク* の間のリンクとして機能します。シンクは、Knativeサービス、チャネル、またはイベントソースからイベントを受信するブローカーを含むk8sサービスである可能性があります。
イベントソースは、SourceオブジェクトからCRをインスタンス化することで作成されます。Sourceオブジェクトは、CRをインスタンス化するために必要な引数とパラメーターを定義します。
すべてのソースは、sources
カテゴリに属します。
クラスター上の既存のイベントソースをリストするには、kn コマンドを入力します。
kn source list
クラスター上の既存のイベントソースをリストするには、コマンドを入力します。
kubectl get sources
注
Kafka や RabbitMQ などの他のメッセージングテクノロジーからイベントをインポートするイベントソースは、datacontenttype
などのオプション属性の設定については責任を負いません。これは、元のイベントプロデューサーの責任です。ソースは、属性が存在する場合に属性を追加するだけです。
Knative ソース¶
名前 | ステータス | メンテナー | 説明 |
---|---|---|---|
APIServerSource | 安定版 | Knative | Kubernetes APIサーバーイベントをKnativeに取り込みます。APIServerSourceは、Kubernetesリソースが作成、更新、または削除されるたびに新しいイベントを発行します。 |
Apache CouchDB | アルファ版 | Knative | Apache CouchDB メッセージをKnativeに取り込みます。 |
Apache Kafka | 安定版 | Knative | Apache Kafka メッセージをKnativeに取り込みます。KafkaSourceは、Apache Kafkaクラスターからイベントを読み取り、これらのイベントをシンクに渡して消費できるようにします。詳細については、Kafka Sourceの例を参照してください。 |
CephSource | ベータ版 | Knative | Cephソースは、Ceph形式のバケット通知をCloudEvents形式に変換し、Knativeに注入します。変換ロジックは、AWS S3バケット通知で説明されているものに従います。 |
ContainerSource | 安定版 | Knative | ContainerSourceは、ContainerSourceが削除されるまでイベントを生成できるコンテナイメージをインスタンス化します。これは、たとえば、FTPサーバーで新しいファイルをポーリングしたり、設定された時間間隔でイベントを生成したりするために使用できます。少なくともコンテナイメージが指定されたspec.template が指定されると、ContainerSourceは指定されたイメージでPodを実行し続けます。K_SINK (宛先アドレス)とKE_CE_OVERRIDES (JSON CloudEvents属性)の環境変数が、実行中のイメージに注入されます。これは、基盤となるインフラストラクチャとして他の複数のソースで使用されます。詳細については、Container Sourceの例を参照してください。 |
GitHub | ベータ版 | Knative | 指定されたGitHub組織またはリポジトリで指定されたタイプのイベントを登録し、それらのイベントをKnativeに取り込みます。GitHubSourceは、選択されたGitHubイベントタイプごとに新しいイベントを発行します。詳細については、GitHub Sourceの例を参照してください。 |
GitLab | ベータ版 | Knative | 指定されたGitLabリポジトリで指定されたタイプのイベントを登録し、それらのイベントをKnativeに取り込みます。GitLabSourceは、指定されたイベントタイプのwebhookを作成し、受信イベントをリッスンし、それらをコンシューマーに渡します。詳細については、GitLab Sourceの例を参照してください。 |
KogitoSource | アルファ版 | Knative | Kogito Runtimeのカスタムリソースの実装であり、Kogito Operatorによって管理されます。 |
PingSource | 安定版 | Knative | 指定されたCronスケジュールで固定ペイロードを持つイベントを生成します。詳細については、Ping Sourceの例を参照してください。 |
RabbitMQ | 安定版 | Knative | RabbitMQメッセージをKnativeに取り込みます。 |
RedisSource | ベータ版 | Knative | RedisストリームをKnativeに取り込みます。 |
SinkBinding | 安定版 | Knative | SinkBindingは、Kubernetesで利用可能な使い慣れたコンピューティング抽象化(Deployment、Job、DaemonSet、StatefulSetなど)、またはKnativeの抽象化(Service、Configurationなど)を使用して、新しいイベントソースを作成するために使用できます。SinkBindingは、Podのように見えるspec.template (PodSpecableとも呼ばれる)を持つ任意のKubernetesリソースに、K_SINK (宛先アドレス)とK_CE_OVERRIDES (JSON cloudevents属性)の環境変数を注入するためのフレームワークを提供します。詳細については、SinkBindingの例を参照してください。 |
サードパーティソース¶
名前 | ステータス | メンテナー | 説明 |
---|---|---|---|
Amazon CloudWatch | 安定版 | TriggerMesh | Amazon CloudWatchからメトリクスを収集します。(インストール)(例) |
Amazon CloudWatch Logs | 安定版 | TriggerMesh | Amazon CloudWatch Logsストリームからログイベントをサブスクライブします。(インストール)(例) |
AWS CodeCommit | 安定版 | TriggerMesh | AWS CodeCommitソースコードリポジトリによって発行されたイベントを登録します。(インストール)(例) |
Amazon Cognito Identity | 安定版 | TriggerMesh | Amazon Cognitoアイデンティティプールからのイベントを登録します。(インストール)(例) |
Amazon Cognito User | 安定版 | TriggerMesh | Amazon Cognitoユーザープールからのイベントを登録します。(インストール)(例) |
Amazon DynamoDB | 安定版 | TriggerMesh | Amazon DynamoDBストリームからレコードを読み取ります。(インストール)(例) |
Amazon Kinesis | 安定版 | TriggerMesh | Amazon Kinesisストリームからレコードを読み取ります。(インストール)(例) |
Amazon S3 | 安定版 | TriggerMesh | Amazon S3バケットからのイベント通知をサブスクライブします。(インストール)(例) |
Amazon SNS | 安定版 | TriggerMesh | Amazon SNSトピックからのメッセージをサブスクライブします。(インストール)(例) |
Amazon SQS | 安定版 | TriggerMesh | Amazon SQSキューからメッセージを消費します。(インストール)(例) |
Apache Camel | 安定版 | Apache Software Foundation | Apache Camelコンポーネントを使用して、Knativeにイベントをプッシュできるようにします。Camelソースは、Kameletsを介して、Apache Camel Kプロジェクトの一部として提供されるようになりました。 |
Azure Activity Logs | 安定版 | TriggerMesh | Azure Activity Logsからアクティビティログをキャプチャします。(インストール)(例) |
Azure Blob Storage | 安定版 | TriggerMesh | Azure Blob Storageアカウントからのイベントをサブスクライブします。(インストール)(例) |
Azure Event Grid | 安定版 | TriggerMesh | Azure Event Gridからイベントを取得します。(インストール)(例) |
Azure Event Hubs | 安定版 | TriggerMesh | Azure Event Hubsからイベントを消費します。(インストール)(例) |
Azure IoT Hub | 安定版 | TriggerMesh | Azure IoT Hubからイベントを消費します。(インストール)(例) |
Azure Queue Storage | 安定版 | TriggerMesh | Azure Queue Storageからメッセージを取得します。(インストール)(例) |
Azure Service Bus Queues | 安定版 | TriggerMesh | Azure Service Busキューからメッセージを消費します。(インストール)(例) |
Azure Service Bus Topics | 安定版 | TriggerMesh | Azure Service Busトピックからのメッセージをサブスクライブします。(インストール)(例) |
Debezium | アルファ版 | Debezium | Knativeでデータベースの変更をCloudEventsとして消費します。(knative構成) |
Direktiv | アルファ版 | Direktiv | Direktivからイベントを受信します。 |
DockerHubSource | アルファ版 | なし | Docker Hub Webhooksからイベントを取得し、それらをKnativeで消費するためのCloudEventsに変換します。 |
Google Cloud Audit Logs | 安定版 | TriggerMesh | Google Cloud Audit Logs から監査ログを取得します。(インストール)(例) |
Google Cloud Billing | 安定版 | TriggerMesh | Google Cloud Billing から予算通知を取得します。(インストール)(例) |
Google Cloud Pub/Sub | 安定版 | TriggerMesh | Google Cloud Pub/Sub トピックからのメッセージをサブスクライブします。(インストール)(例) |
Google Cloud Source Repositories | 安定版 | TriggerMesh | Google Cloud Source Repositories からのイベントを消費します。(インストール)(例) |
Google Cloud Storage | 安定版 | TriggerMesh | Google Cloud Storage バケットからの変更通知を取得します。(インストール)(例) |
HTTP Poller | 安定版 | TriggerMesh | HTTP/S URL から定期的にイベントをプルします。(インストール)(例) |
Oracle Cloud Infrastructure | 安定版 | TriggerMesh | Oracle Cloud Infrastructure からメトリクスを取得します。(インストール)(例) |
Salesforce | 安定版 | TriggerMesh | Salesforce チャネルからのイベントを消費します。(インストール)(例) |
Slack | 安定版 | TriggerMesh | Slack からのイベントをサブスクライブします。(インストール)(例) |
Twilio | サポート対象 | TriggerMesh | Twilio からイベントを受信します。(インストール)(例) |
VMware | アルファ版 | VMware | vSphere イベントを Knative に取り込みます。 |
Webhook | 安定版 | TriggerMesh | HTTP を使用して webhook からイベントを取り込みます。(インストール)(例) |
Zendesk | 安定版 | TriggerMesh | Zendesk からのイベントをサブスクライブします。(インストール)(例) |
追加リソース¶
- コードがビジネスロジックの一部としてイベントを送信する必要があり、Source のモデルに適合しない場合は、イベントを直接 Broker に供給することを検討してください。
kn
Source 関連コマンドの使用に関する詳細については、kn source
リファレンスドキュメントを参照してください。