第10章 イベント設定のチューニング
10.1. Knative Eventing システムのデプロイメント設定のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
KnativeEventing
カスタムリソース (CR) の ワークロード
仕様を変更することで、特定のデプロイメントのデフォルト設定をオーバーライドできます。現在、デフォルトの構成設定のオーバーライドは、eventing-controller
、eventing-webhook
、および imc-controller
フィールド、およびプローブの readiness
フィールドと liveness
フィールドでサポートされています。
replicas
の仕様は、Horizontal Pod Autoscaler (HPA) を使用するデプロイのレプリカの数をオーバーライドできず、eventing-webhook
デプロイでは機能しません。
デフォルトでデプロイメントに定義されているプローブのみをオーバーライドできます。
Knative Serving デプロイメントはすべて、以下の例外を除き、デフォルトで readiness および liveness プローブを定義します。
-
net-kourier-controller
および3scale-kourier-gateway
は readiness プローブのみを定義します。 -
net-istio-controller
およびnet-istio-webhook
はプローブを定義しません。
10.1.1. デプロイメント設定のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
現在、デフォルトの構成設定のオーバーライドは、eventing-controller
、eventing-webhook
、および imc-controller
フィールド、およびプローブの readiness
フィールドと liveness
フィールドでサポートされています。
replicas
の仕様は、Horizontal Pod Autoscaler (HPA) を使用するデプロイのレプリカの数をオーバーライドできず、eventing-webhook
デプロイでは機能しません。
次の例では、KnativeEventing
CR が eventing-controller
デプロイメントをオーバーライドして、次のようにします。
-
readiness
プローブのタイムアウトeventing-controller
は 10 秒に設定されています。 - デプロイメントには、CPU およびメモリーのリソース制限が指定されています。
- デプロイメントには 3 つのレプリカがあります。
-
example-label:labellabel
が追加されました。 -
example-annotation: annotation
が追加されます。 -
nodeSelector
フィールドは、disktype: hdd
ラベルを持つノードを選択するように設定されます。
KnativeEventing CR の例
- 1
readiness
およびliveness
プローブオーバーライドを使用して、プローブハンドラーに関連するフィールド (exec
、grpc
、httpGet
、およびtcpSocket
) を除き、Kubernetes API で指定されているデプロイメントのコンテナー内のプローブのすべてのフィールドをオーバーライドできます。
KnativeEventing
CR ラベルおよびアノテーション設定は、デプロイメント自体と結果として生成される Pod の両方のデプロイメントのラベルおよびアノテーションを上書きします。
10.1.2. コンシューマーグループ ID とトピック名の変更 リンクのコピーリンクがクリップボードにコピーされました!
トリガー、ブローカー、チャネルで使用されるコンシューマーグループ ID とトピック名を生成するためのテンプレートを変更できます。
前提条件
- OpenShift Container Platform でクラスターまたは専用の管理者パーミッションを持っている。
-
OpenShift Serverless Operator、Knative Eventing、および
KnativeKafka
カスタムリソース (CR) が OpenShift Container Platform クラスターにインストールされている。 - OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
-
OpenShift CLI (
oc
) がインストールされている。
手順
トリガー、ブローカー、チャネルで使用されるコンシューマーグループ ID とトピック名を生成するためのテンプレートを変更するには、
KnativeKafka
リソースを変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- トリガーで使用されるコンシューマーグループ ID を生成するためのテンプレート。有効な Go
text/template
値を使用します。デフォルトは{% raw %}"knative-trigger-{{ .Namespace }}-{{ .Name }}"{% endraw %}
です。 - 2
- ブローカーが使用する Kafka トピック名を生成するためのテンプレート。有効な Go
text/template
値を使用します。デフォルトは{% raw %}"knative-broker-{{ .Namespace }}-{{ .Name }}"{% endraw %}
です。 - 3
- チャネルで使用される Kafka トピック名を生成するためのテンプレート。有効な Go
text/template
値を使用します。デフォルトは{% raw %}"messaging-kafka.{{ .Namespace }}.{{ .Name }}"{% endraw %}
です。
テンプレート設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KnativeKafka
YAML ファイルを適用します。$ oc apply -f <knative_kafka_filename>
$ oc apply -f <knative_kafka_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow