3.5. Knative Eventing のインストール
クラスターでイベント駆動型アーキテクチャーを使用するには、Knative Eventing をインストールします。イベントソース、ブローカー、チャネルなどの Knative コンポーネントを作成し、それらを使用してアプリケーションや外部システムにイベントを送信することができます。
OpenShift Serverless Operator をインストールした後、デフォルトの設定で Knative Eventing をインストールするか、KnativeEventing
カスタムリソース (CR) でより高度な設定を行うことが可能です。KnativeEventing
CR の設定オプションの詳細については、グローバル設定 を参照してください。
OpenShift Serverless で Red Hat 分散トレースを使用する 場合は、Knative Eventing をインストールする前に、Red Hat 分散トレースをインストールして設定する必要があります。
3.5.1. Web コンソールを使用した Knative Eventing のインストール
OpenShift Serverless Operator をインストールした後、OpenShift Container Platform の Web コンソールを使用して Knative Eventing をインストールします。デフォルトの設定で Knative Eventing をインストールするか、KnativeEventing
カスタムリソース (CR) でより詳細な設定を行うことが可能です。
前提条件
- クラスター管理者のアクセスを持つ OpenShift Container Platform アカウントを使用できる。
- OpenShift Container Platform Web コンソールにログインしている。
- OpenShift Serverless Operator がインストールされている。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - ページ上部の Project ドロップダウンメニューが Project: knative-eventing に設定されていることを確認します。
- OpenShift Serverless Operator の Provided API 一覧で Knative Eventing をクリックし、Knative Eventing タブに移動します。
- Create Knative Eventing をクリックします。
Create Knative Eventing ページでは、提供されるデフォルトのフォームを使用するか、または YAML を編集して
KnativeEventing
オブジェクトを設定できます。KnativeEventing
オブジェクト作成を完全に制御する必要がない単純な設定には、このフォームの使用が推奨されます。オプション:フォームを使用して
KnativeEventing
オブジェクトを設定する場合は、Knative Eventing デプロイメントに対して実装する必要のある変更を加えます。
Create をクリックします。
KnativeEventing
オブジェクトの作成を完全に制御する必要のあるより複雑な設定には、YAML の編集が推奨されます。YAML にアクセスするには、Create Knative Eventing ページの右上にある edit YAML リンクをクリックします。オプション:YAML を編集して
KnativeEventing
オブジェクトを設定する場合は、Knative Eventing デプロイメントについて実装する必要のある変更を YAML に加えます。
- Create をクリックします。
-
Knative Eventing のインストール後に、
KnativeEventing
オブジェクトが作成され、Knative Eventing タブに自動的にダイレクトされます。リソースの一覧にknative-eventing
リソースが表示されます。
検証
-
Knative Eventing タブで
knative-eventing
カスタムリソースをクリックします。 Knative Eventing Overview ページに自動的にダイレクトされます。
- スクロールダウンして、Conditions の一覧を確認します。
ステータスが True の条件の一覧が表示されます (例のイメージを参照)。
注記Knative Eventing リソースが作成されるまでに数秒の時間がかかる場合があります。Resources タブでステータスを確認できます。
- 条件のステータスが Unknown または False である場合は、しばらく待ってから、リソースが作成されたことを再度確認します。
3.5.2. YAML を使用した Knative Eventing のインストール
OpenShift Serverless Operator をインストールした後、デフォルトの設定で Knative Eventing をインストールするか、KnativeEventing
カスタムリソース (CR) でより高度な設定を行うことが可能です。YAML ファイルと oc
CLI を利用して、以下の手順で Knative Eventing をインストールすることができます。
前提条件
- クラスター管理者のアクセスを持つ OpenShift Container Platform アカウントを使用できる。
- OpenShift Serverless Operator がインストールされている。
-
OpenShift CLI (
oc
) をインストールしている。
手順
-
eventing.yaml
という名前のファイルを作成します。 以下のサンプル YAML を
eventing.yaml
にコピーします。apiVersion: operator.knative.dev/v1beta1 kind: KnativeEventing metadata: name: knative-eventing namespace: knative-eventing
- オプション:Knative Eventing デプロイメントについて実装する必要のある変更を YAML に加えます。
以下を入力して
eventing.yaml
ファイルを適用します。$ oc apply -f eventing.yaml
検証
以下のコマンドを入力して出力を確認し、インストールが完了したことを確認します。
$ oc get knativeeventing.operator.knative.dev/knative-eventing \ -n knative-eventing \ --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}'
出力例
InstallSucceeded=True Ready=True
注記Knative Eventing リソースが作成されるまでに数秒の時間がかかる場合があります。
-
条件のステータスが
Unknown
またはFalse
である場合は、しばらく待ってから、リソースが作成されたことを再度確認します。 以下のコマンドを実行して Knative Eventing リソースが作成されていることを確認します。
$ oc get pods -n knative-eventing
出力例
NAME READY STATUS RESTARTS AGE broker-controller-58765d9d49-g9zp6 1/1 Running 0 7m21s eventing-controller-65fdd66b54-jw7bh 1/1 Running 0 7m31s eventing-webhook-57fd74b5bd-kvhlz 1/1 Running 0 7m31s imc-controller-5b75d458fc-ptvm2 1/1 Running 0 7m19s imc-dispatcher-64f6d5fccb-kkc4c 1/1 Running 0 7m18s
3.5.3. Knative Kafka のインストール
Knative Kafka は、OpenShift Serverless でサポートされているバージョンの Apache Kafka メッセージストリーミングプラットフォームを使用する統合オプションを提供します。KnativeKafka
カスタムリソースをインストールしている場合、Knative Kafka 機能は OpenShift Serverless インストールで使用できます。
前提条件
- OpenShift Serverless Operator および Knative Eventing がクラスターにインストールされていること。
- Red Hat AMQ Streams クラスターにアクセスできる。
-
検証手順を使用する場合は、OpenShift CLI (
oc
) をインストールします。
- OpenShift Container Platform のクラスター管理者パーミッションがある。
- OpenShift Container Platform Web コンソールにログインしている。
手順
-
Administrator パースペクティブで、Operators
Installed Operators に移動します。 - ページ上部の Project ドロップダウンメニューが Project: knative-eventing に設定されていることを確認します。
- OpenShift Serverless Operator の Provided APIs の一覧で Knative Kafka ボックスを見つけ、Create Instance をクリックします。
Create Knative Kafka ページで KnativeKafka オブジェクトを設定します。
重要クラスターで Kafka チャネル、ソース、ブローカー、またはシンクを使用するには、使用するオプションの 有効な スイッチを true に切り替える必要があります。これらのスイッチは、デフォルトで false に設定されます。さらに、Kafka チャネル、ブローカー、またはシンクを使用するには、ブートストラップサーバーを指定する必要があります。
KnativeKafka
カスタムリソースの例apiVersion: operator.serverless.openshift.io/v1alpha1 kind: KnativeKafka metadata: name: knative-kafka namespace: knative-eventing spec: channel: enabled: true 1 bootstrapServers: <bootstrap_servers> 2 source: enabled: true 3 broker: enabled: true 4 defaultConfig: bootstrapServers: <bootstrap_servers> 5 numPartitions: <num_partitions> 6 replicationFactor: <replication_factor> 7 sink: enabled: true 8
- 1
- 開発者はクラスターで
KafkaChannel
チャネルを使用できます。 - 2
- AMQ Streams クラスターからのブートストラップサーバーのコンマ区切りの一覧。
- 3
- 開発者はクラスターで
KafkaSource
イベントソースタイプを使用できます。 - 4
- 開発者はクラスターで Knative Kafka ブローカー実装を使用できます。
- 5
- Red Hat AMQ Streams クラスターからのブートストラップサーバーのコンマ区切りリスト。
- 6
Broker
オブジェクトでサポートされる Kafka トピックのパーティション数を定義します。デフォルトは10
です。- 7
Broker
オブジェクトでサポートされる Kafka トピックのレプリケーション係数を定義します。デフォルトは3
です。- 8
- 開発者がクラスター内で Kafka シンクを使用できるようにします。
注記replicationFactor
の値は、Red Hat AMQ Streams クラスターのノード数以下である必要があります。- KnativeKafka オブジェクトの作成を完全に制御する必要がない単純な設定に、このフォームの使用が推奨されます。
- KnativeKafka オブジェクトの作成を完全に制御する必要のあるより複雑な設定には、YAML の編集が推奨されます。YAML にアクセスするには、Create Knative Kafka ページの右上にある Edit YAML リンクをクリックします。
- Kafka のオプションの設定が完了したら、Create をクリックします。Knative Kafka タブに自動的にダイレクトされます。ここで、knative-kafka はリソースの一覧にあります。
検証
- Knative Kafka タブで knative-kafka リソースをクリックします。Knative Kafka Overview ページに自動的にダイレクトされます。
リソースの Conditions (状態) の一覧を表示し、それらのステータスが True であることを確認します。
状態のステータスが Unknown または False である場合は、ページを更新するためにしばらく待機します。
Knative Eventing リソースが作成されていることを確認します。
$ oc get pods -n knative-eventing
出力例
NAME READY STATUS RESTARTS AGE kafka-broker-dispatcher-7769fbbcbb-xgffn 2/2 Running 0 44s kafka-broker-receiver-5fb56f7656-fhq8d 2/2 Running 0 44s kafka-channel-dispatcher-84fd6cb7f9-k2tjv 2/2 Running 0 44s kafka-channel-receiver-9b7f795d5-c76xr 2/2 Running 0 44s kafka-controller-6f95659bf6-trd6r 2/2 Running 0 44s kafka-source-dispatcher-6bf98bdfff-8bcsn 2/2 Running 0 44s kafka-webhook-eventing-68dc95d54b-825xs 2/2 Running 0 44s
3.5.4. 次のステップ
- Knative サービスを使用する場合は、Knative Serving をインストールできます。