This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.11.3. ApiServerSource の使用
ApiServerSource は、Knative サービスなどのイベントシンクを Kubernetes API サーバーに接続するために使用できるイベントソースです。ApiServerSource は Kubernetes イベントを監視し、それらを Knative Eventing ブローカーに転送します。
以下の手順では、どちらの場合も YAML ファイルを作成する必要があります。
サンプルで使用されたもので YAML ファイルの名前を変更する場合は、必ず対応する CLI コマンドを更新する必要があります。
11.3.1. Knative CLI (kn) での ApiServerSource の使用 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、kn
コマンドを使用して ApiServerSource を作成するために必要な手順を説明します。
前提条件
-
OpenShift Serverless、Knative Serving および Eventing コンポーネント、および
kn
CLI がインストールされている。
手順
ApiServerSource のサービスアカウント、ロール、およびロールバインディングを作成します。
authentication.yaml
という名前のファイルを作成し、以下のサンプルコードをこれにコピーして、これを実行できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記適切なパーミッションを持つ既存のサービスアカウントを再利用する必要がある場合、そのサービスアカウントの
authentication.yaml
を変更する必要があります。サービスアカウント、ロールバインディング、およびクラスターバインディングを作成します。
oc apply -f authentication.yaml
$ oc apply -f authentication.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブローカーをイベントシンクとして使用する ApiServerSource を作成します。
kn source apiserver create <event_source_name> --sink broker:<broker_name> --resource "event:v1" --service-account <service_account_name> --mode Resource
$ kn source apiserver create <event_source_name> --sink broker:<broker_name> --resource "event:v1" --service-account <service_account_name> --mode Resource
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ApiServerSource が正しく設定されていることを確認するには、受信メッセージをログにダンプする Knative サービスを作成します。
kn service create <service_name> --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
$ kn service create <service_name> --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow default
ブローカーからサービスにイベントをフィルターするトリガーを作成します。kn trigger create <trigger_name> --sink svc:<service_name>
$ kn trigger create <trigger_name> --sink svc:<service_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルト namespace で Pod を起動してイベントを作成します。
oc create deployment hello-node --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
$ oc create deployment hello-node --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力し、生成される出力を検査して、コントローラーが正しくマップされていることを確認します。
kn source apiserver describe <source_name>
$ kn source apiserver describe <source_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
メッセージダンパー機能ログを確認して、Kubernetes イベントが Knative に送信されていることを確認できます。
Pod を取得します。
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod のメッセージダンパー機能ログを表示します。
oc logs $(oc get pod -o name | grep event-display) -c user-container
$ oc logs $(oc get pod -o name | grep event-display) -c user-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3.2. Knative CLI (kn) を使用した ApiServerSource の削除 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、kn
コマンドおよび oc
コマンドを使用して ApiServerSource、トリガー、サービス、サービスアカウント、クラスターロール、およびクラスターバインディングを削除するために使用される手順について説明します。
前提条件
-
kn
CLI がインストールされていること。
手順
トリガーを削除します。
kn trigger delete <trigger_name>
$ kn trigger delete <trigger_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスを削除します。
kn service delete <service_name>
$ kn service delete <service_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イベントソースを削除します。
kn source apiserver delete <source_name>
$ kn source apiserver delete <source_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サービスアカウント、クラスターロール、およびクラスターバインディングを削除します。
oc delete -f authentication.yaml
$ oc delete -f authentication.yaml
11.3.3. YAML メソッドでの ApiServerSource の使用 リンクのコピーリンクがクリップボードにコピーされました!
以下では、YAML ファイルを使用して ApiServerSource を作成するために必要な手順を説明します。
前提条件
- Knative Serving および Eventing のインストールが必要です。
-
default
ブローカーは、ApiServerSource YAML ファイルで定義されるものと同じ namespace に作成している必要があります。
手順
ApiServerSource のサービスアカウント、ロールおよびロールバインディングを作成するには、
authentication.yaml
という名前のファイルを作成し、以下のサンプルコードをこれにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記適切なパーミッションを持つ既存のサービスアカウントを再利用する必要がある場合、そのサービスアカウントの
authentication.yaml
を変更する必要があります。authentication.yaml
ファイルを作成した後に、これを適用します。oc apply -f authentication.yaml
$ oc apply -f authentication.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ApiServerSource イベントソースを作成するには、
k8s-events.yaml
という名前のファイルを作成し、以下のサンプルコードをこれにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow k8s-events.yaml
ファイルを作成した後に、これを適用します。oc apply -f k8s-events.yaml
$ oc apply -f k8s-events.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ApiServerSource が正しく設定されていることを確認するには、受信メッセージをログにダンプする Knative サービスを作成します。
以下のサンプル YAML を
service.yaml
という名前のファイルにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow service.yaml
ファイルを作成した後に、これを適用します。oc apply -f service.yaml
$ oc apply -f service.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イベントを直前の手順で作成したサービスにフィルターする
default
ブローカーからトリガーを作成するには、trigger.yaml
という名前のファイルを作成し、以下のサンプルコードをこれにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow trigger.yaml
ファイルを作成した後に、これを適用します。oc apply -f trigger.yaml
$ oc apply -f trigger.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イベントを作成するには、デフォルト namespace で Pod を起動します。
oc create deployment hello-node --image=quay.io/openshift-knative/knative-eventing-sources-event-display
$ oc create deployment hello-node --image=quay.io/openshift-knative/knative-eventing-sources-event-display
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーが正しくマップされていることを確認するには、以下のコマンドを入力し、出力を検査します。
oc get apiserversource.sources.knative.dev testevents -o yaml
$ oc get apiserversource.sources.knative.dev testevents -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
Kubernetes イベントが Knative に送信されていることを確認するには、メッセージダンパー機能ログを確認します。
Pod を取得します。
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod のメッセージダンパー機能ログを表示します。
oc logs $(oc get pod -o name | grep event-display) -c user-container
$ oc logs $(oc get pod -o name | grep event-display) -c user-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3.4. ApiServerSource の削除 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、YAML ファイルを削除して、ApiServerSource、トリガー、サービス、サービスアカウント、クラスターロール、およびクラスターバインディングを削除する方法について説明します。
手順
トリガーを削除します。
oc delete -f trigger.yaml
$ oc delete -f trigger.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスを削除します。
oc delete -f service.yaml
$ oc delete -f service.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イベントソースを削除します。
oc delete -f k8s-events.yaml
$ oc delete -f k8s-events.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウント、クラスターロール、およびクラスターバインディングを削除します。
oc delete -f authentication.yaml
$ oc delete -f authentication.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow