第10章 Knative Eventing
10.1. Knative Eventing でのブローカーの使用
Knative Eventing は、特に指定がない場合は default
ブローカーを使用します。
クラスター管理者のパーミッションがある場合は、namespace アノテーションを使用して default
ブローカーを自動的に作成できます。
その他のすべてのユーザーは、本書で説明されている手動プロセスを使用してブローカーを作成する必要があります。
10.1.1. ブローカーの手動による作成
ブローカーを作成するには、それぞれの namespace に ServiceAccount を作成し、その ServiceAccount に必要な RBAC パーミッションを付与する必要があります。
前提条件
-
ClusterRole
を含む Knative Eventing がインストールされている。
手順
ServiceAccount
オブジェクトを作成します。以下のコマンドを入力して
eventing-broker-ingress
オブジェクトを作成します。$ oc -n <namespace> create serviceaccount eventing-broker-ingress
以下のコマンドを入力して
eventing-broker-filter
オブジェクトを作成します。$ oc -n <namespace> create serviceaccount eventing-broker-filter
RBAC パーミッションを作成したオブジェクトに指定します。
$ oc -n default create rolebinding eventing-broker-ingress \ --clusterrole=eventing-broker-ingress \ --serviceaccount=default:eventing-broker-ingress
$ oc -n default create rolebinding eventing-broker-filter \ --clusterrole=eventing-broker-filter \ --serviceaccount=default:eventing-broker-filter
以下を含む YAML ファイルを作成し、適用してブローカーを作成します。
apiVersion: eventing.knative.dev/v1beta1 kind: Broker metadata: namespace: default name: default 1
- 1
- この例では、
default
という名前を使用していますが、これを他の有効な名前に置き換えることができます。
10.1.2. namespace アノテーションを使用したブローカーの自動作成
クラスター管理者のパーミッションがある場合は、namespace にアノテーションを付けることでブローカーを自動的に作成できます。
前提条件
- Knative Eventing がインストールされている。
- OpenShift Container Platform のクラスター管理者パーミッション。
手順
以下のコマンドを入力して namespace にアノテーションを付けます。
$ oc label namespace default knative-eventing-injection=enabled 1 $ oc -n default get broker default
- 1
default
を必要な namespace に置き換えます。
以下の例で示されている行は、
default
という名前のブローカーをdefault
namespace に自動的に作成します。
アノテーションによって作成されたブローカーは、アノテーションを削除しても削除されません。これらは手動で削除する必要があります。
10.1.3. namespace アノテーションを使用して作成されたブローカーの削除
選択した namespace(この例では
default
namespace) から挿入されたブローカーを削除します。$ oc -n default delete broker default