第10章 Eventing 設定のチューニング
10.1. Knative Eventing システムのデプロイメント設定のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
KnativeEventing カスタムリソース (CR) の ワークロード 仕様を変更することで、特定のデプロイメントのデフォルト設定をオーバーライドできます。現在、デフォルトの構成設定のオーバーライドは、eventing-controller、eventing-webhook、および imc-controller フィールド、およびプローブの readiness フィールドと liveness フィールドでサポートされています。
replicas の仕様は、Horizontal Pod Autoscaler (HPA) を使用するデプロイのレプリカの数をオーバーライドできず、eventing-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: labelラベルが追加されました。 -
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値を使用します。デフォルトは"knative-trigger-{{ .Namespace }}-{{ .Name }}"です。 - 2
- ブローカーが使用する Kafka トピック名を生成するためのテンプレート。有効な Go
text/template値を使用します。デフォルトは"knative-broker-{{ .Namespace }}-{{ .Name }}"です。 - 3
- チャネルで使用される Kafka トピック名を生成するためのテンプレート。有効な Go
text/template値を使用します。デフォルトは"messaging-kafka.{{ .Namespace }}.{{ .Name }}"です。
テンプレート設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KnativeKafkaYAML ファイルを適用します。$ oc apply -f <knative_kafka_filename>
$ oc apply -f <knative_kafka_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow