2.6. OpenShift リソースのカスタマイズ
AMQ Streamsは、Deployments、StatefulSets、Pods、Service などの複数の OpenShift リソースを作成し、AMQ Streamsのオペレータが管理します。特定の OpenShift リソースの管理を担当する operator のみがそのリソースを変更できます。operator によって管理される OpenShift リソースを手動で変更しようとすると、operator はその変更を元に戻します。
しかし、operator が管理する OpenShift リソースの変更は、以下のような特定のタスクを実行する場合に役立ちます。
-
Podが Istio またはその他のサービスによって処理される方法を制御するカスタムラベルまたはアノテーションの追加 -
Loadbalancer-type サービスがクラスターによって作成される方法の管理
このような変更は、AMQ Streams カスタムリソースの template プロパティーを使用して追加します。template プロパティーは以下のリソースでサポートされます。API リファレンスは、カスタマイズ可能フィールドに関する詳細を提供します。
Kafka.spec.kafka-
「
KafkaClusterTemplateスキーマ参照」 を参照 Kafka.spec.zookeeper-
「
ZookeeperClusterTemplateスキーマ参照」 を参照 Kafka.spec.entityOperator-
「
EntityOperatorTemplateスキーマ参照」 を参照してください。 Kafka.spec.kafkaExporter-
「
KafkaExporterTemplateスキーマ参照」 を参照 Kafka.spec.cruiseControl-
「
CruiseControlTemplateスキーマ参照」 を参照 KafkaConnect.spec-
「
KafkaConnectTemplateスキーマ参照」 を参照 KafkaConnectS2I.spec-
「
KafkaConnectTemplateスキーマ参照」 を参照 KafkaMirrorMaker.spec-
「
KafkaMirrorMakerTemplateスキーマ参照」 を参照 KafkaMirrorMaker2.spec-
「
KafkaConnectTemplateスキーマ参照」 を参照 KafkaBridge.spec-
「
KafkaBridgeTemplateスキーマ参照」 を参照 KafkaUser.spec-
「
KafkaUserTemplateスキーマ参照」 を参照
以下の例では、template プロパティーを使用して Kafka ブローカーの StatefulSet のラベルを変更します。
テンプレートのカスタマイズ例
2.6.1. イメージプルポリシーのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
AMQ Streams では、Cluster Operator によってデプロイされたすべての Pod のコンテナーのイメージプルポリシーをカスタマイズできます。イメージプルポリシーは、Cluster Operator デプロイメントの環境変数 STRIMZI_IMAGE_PULL_POLICY を使用して設定されます。STRIMZI_IMAGE_PULL_POLICY 環境変数に設定できる値は 3 つあります。
Always- Pod が起動または再起動されるたびにコンテナーイメージがレジストリーからプルされます。
IfNotPresent- 以前プルされたことのないコンテナーイメージのみがレジストリーからプルされます。
Never- コンテナーイメージはレジストリーからプルされることはありません。
現在、イメージプルポリシーはすべての Kafka、Kafka Connect、および Kafka MirrorMaker クラスターに対してのみ 1 度にカスタマイズできます。ポリシーを変更すると、すべての Kafka、Kafka Connect、および Kafka MirrorMaker クラスターのローリングアップデートが実行されます。
その他のリソース
- Cluster Operator の設定に関する詳細は、「Cluster Operator の使用」 を参照してください。
- イメージプルポリシーに関する詳細は、「Disruptions」を参照してください。