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
のラベルを変更します。
apiVersion: kafka.strimzi.io/v1beta1 kind: Kafka metadata: name: my-cluster labels: app: my-cluster spec: kafka: # ... template: statefulset: metadata: labels: mylabel: myvalue # ...
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」を参照してください。