3.9. デプロイメントのカスタマイズ
AMQ Streams では、OpenShift の operator によって管理される Deployments、StatefulSets、Pods、Services などの複数の OpenShift リソースが作成されます。特定の OpenShift リソースの管理を担当する operator のみがそのリソースを変更できます。operator によって管理される OpenShift リソースを手動で変更しようとすると、operator はその変更を元に戻します。
しかし、オペレーターが管理する OpenShift リソースの変更は、以下のような特定のタスクを実行する場合に役立ちます。
-
Podが Istio またはその他のサービスによって処理される方法を制御するカスタムラベルまたはアノテーションを追加する場合。 -
Loadbalancerタイプのサービスがクラスターによって作成される方法を管理する場合。
このような変更は、AMQ Streams カスタムリソースの template プロパティーを使用して追加します。
3.9.1. テンプレートプロパティー リンクのコピーリンクがクリップボードにコピーされました!
template プロパティーを使用すると、リソース作成プロセスの内容を設定できます。以下のリソースおよびプロパティーに追加できます。
-
Kafka.spec.kafka -
Kafka.spec.zookeeper -
Kafka.spec.entityOperator -
Kafka.spec.kafkaExporter -
KafkaConnect.spec -
KafkaConnectS2I.spec -
KafkaMirrorMakerSpec -
KafkaBridge.spec
以下の例では、template プロパティーを使用して Kafka ブローカーの StatefulSet のラベルを変更します。
3.9.1.1. Kafka クラスターでサポートされるテンプレートプロパティー リンクのコピーリンクがクリップボードにコピーされました!
statefulset-
Kafka ブローカーによって使用される
StatefulSetを設定します。 pod-
StatefulSetによって作成された Kafka ブローカーPodを設定します。 bootstrapService- OpenShift 内で実行中のクライアントによって使用されるブートストラップサービスを設定し、Kafka ブローカーに接続します。
brokersService- ヘッドレスサービスを設定します。
externalBootstrapService- OpenShift の外部から Kafka ブローカーに接続するクライアントによって使用されるブートストラップサービスを設定します。
perPodService- OpenShift の外部から Kafka ブローカーに接続しているクライアントによって使用される Pod ごとのサービスを設定し、個別のブローカーにアクセスします。
externalBootstrapRoute-
OpenShift
Routesを使用して OpenShift の外部から Kafka ブローカーに接続するクライアントによって使用されるブートストラップルートを設定します。 perPodRoute-
OpenShift の外部から Kafka ブローカーに接続するクライアントによって使用される Pod ごとのルートを設定し、OpenShift
Routesを使用して個別のブローカーにアクセスします。 podDisruptionBudget-
Kafka ブローカー
StatefulSetの Pod の Disruption Budget を設定します。 kafkaContainer- カスタム環境変数を含む、Kafka ブローカーの実行に使用されるコンテナーを設定します。
tlsSidecarContainer- カスタム環境変数を含む、TLS サイドカーコンテナーを設定します。
initContainer- ブローカーの初期化に使用されるコンテナーを設定します。
persistentVolumeClaim-
Kafka
PersistentVolumeClaimsのメタデータを設定します。
3.9.1.2. ZooKeeper クラスターでサポートされるテンプレートプロパティー リンクのコピーリンクがクリップボードにコピーされました!
statefulset-
ZooKeeper の
StatefulSetを設定します。 pod-
StatefulSetによって作成される ZooKeeperPodを設定します。 clientsService- ZooKeeper にアクセスするためにクライアントによって使用されるサービスを設定します。
nodesService- ヘッドレスサービスを設定します。
podDisruptionBudget-
ZooKeeper
StatefulSetの Pod の Disruption Budget を設定します。 zookeeperContainer- カスタム環境変数を含む、ZooKeeper ノードの実行に使用されるコンテナーを設定します。
tlsSidecarContainer- カスタム環境変数を含む、TLS サイドカーコンテナーを設定します。
persistentVolumeClaim-
ZooKeeper
PersistentVolumeClaimsのメタデータを設定します。
3.9.1.3. Entity Operator でサポートされるテンプレートプロパティー リンクのコピーリンクがクリップボードにコピーされました!
deployment- Entity Operator によって使用されるデプロイメントを設定します。
pod-
Deploymentによって作成された Entity OperatorPodを設定します。 topicOperatorContainer- カスタム環境変数を含む、Topic Operator の実行に使用されるコンテナーを設定します。
userOperatorContainer- カスタム環境変数を含む、User Operator の実行に使用されるコンテナーを設定します。
tlsSidecarContainer- カスタム環境変数を含む、TLS サイドカーコンテナーを設定します。
3.9.1.4. Kafka Exporter でサポートされるテンプレートプロパティー リンクのコピーリンクがクリップボードにコピーされました!
deployment- Kafka Exporter によって使用されるデプロイメントを設定します。
pod-
Deploymentによって作成された Kafka ExporterPodを設定します。 services- Kafka Exporter サービスを設定します。
container- カスタム環境変数を含む、Kafka Exporter の実行に使用されるコンテナーを設定します。
3.9.1.5. Kafka Connect および Source2Image がサポートされる Kafka Connect でサポートされるテンプレート。 リンクのコピーリンクがクリップボードにコピーされました!
deployment-
Kafka Connect の
Deploymentを設定します。 pod-
Deploymentによって作成された Kafka ConnectPodsを設定します。 apiService- Kafka Connect REST API で使用されるサービスを設定します。
podDisruptionBudget-
Kafka Connect
Deploymentの Pod の Disruption Budget を設定します。 connectContainer- カスタム環境変数を含む、Kafka Connect の実行に使用されるコンテナーを設定します。
3.9.1.6. Kafka MirrorMaker でサポートされるテンプレートプロパティー リンクのコピーリンクがクリップボードにコピーされました!
deployment-
Kafka MirrorMaker の
Deploymentを設定します。 pod-
Deploymentによって作成された Kafka MirrorMakerPodsを設定します。 podDisruptionBudget-
Kafka MirrorMaker
Deploymentの Pod の Disruption Budget を設定します。 mirrorMakerContainer- カスタム環境変数を含む、Kafka MirrorMaker の実行に使用されるコンテナーを設定します。