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.5. シンクバインディングの使用
シンクバインディングは、イベントプロデューサーまたは イベントソース を Knative サービスやアプリケーションなどのイベントコンシューマーまたは イベントシンク に接続するために使用されます。
開発者がシンクバインディングを使用できるようにするには、クラスター管理者は、bindings.knative.dev/include:"true"
を使用して SinkBinding
オブジェクトに設定される namespace にラベルを付ける必要があります。
oc label namespace <namespace> bindings.knative.dev/include=true
$ oc label namespace <namespace> bindings.knative.dev/include=true
11.5.1. Knative CLI によるシンクバインディングの使用 リンクのコピーリンクがクリップボードにコピーされました!
以下に、kn
CLI を使用して シンクバインディングインスタンスを作成し、管理し、削除するために必要な手順を説明します。
前提条件
- Knative Serving および Eventing がインストールされている。
-
kn
CLI がインストールされている。
以下の手順では、YAML ファイルを作成する必要があります。
サンプルで使用されたもので YAML ファイルの名前を変更する場合は、必ず対応する CLI コマンドを更新する必要があります。
開発者がシンクバインディングを使用できるようにするには、クラスター管理者は、bindings.knative.dev/include:"true"
を使用して SinkBinding
オブジェクトに設定される namespace にラベルを付ける必要があります。
oc label namespace <namespace> bindings.knative.dev/include=true
$ oc label namespace <namespace> bindings.knative.dev/include=true
手順
シンクバインディングが正しく設定されていることを確認するには、受信メッセージをダンプする Knative イベント表示サービスまたはイベントシンクを作成します。
kn service create event-display --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
$ kn service create event-display --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イベントをサービスに転送する
SinkBinding
オブジェクトを作成します。kn source binding create bind-heartbeat --subject Job:batch/v1:app=heartbeat-cron --sink ksvc:event-display
$ kn source binding create bind-heartbeat --subject Job:batch/v1:app=heartbeat-cron --sink ksvc:event-display
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CronJob を作成します。
heartbeats-cronjob.yaml
という名前のファイルを作成し、以下のサンプルコードをこれにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要シンクバインディングを使用するには、
bindings.knative.dev/include=true
ラベルを Knative リソースに手動で追加する必要があります。たとえば、このラベルを
CronJob
オブジェクトに追加するには、以下の行をジョブリソースの YAML 定義に追加します。jobTemplate: metadata: labels: app: heartbeat-cron bindings.knative.dev/include: "true"
jobTemplate: metadata: labels: app: heartbeat-cron bindings.knative.dev/include: "true"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow heartbeats-cronjob.yaml
ファイルを作成した後に、これを適用します。oc apply --filename heartbeats-cronjob.yaml
$ oc apply --filename heartbeats-cronjob.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下のコマンドを入力し、出力を検査して、コントローラーが正しくマップされていることを確認します。
kn source binding describe bind-heartbeat
$ kn source binding describe bind-heartbeat
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
メッセージダンパー機能ログを確認して、Kubernetes イベントが Knative イベントシンクに送信されていることを確認できます。
メッセージダンパー機能ログを表示します。
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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