2.6. 自定义 OpenShift 资源
AMQ Streams 创建几个 OpenShift 资源,如 Deployment、StatefulSet、 Pod 和 Services,它们由 AMQ Streams 操作器管理。只有负责管理特定 OpenShift 资源的操作器才能更改该资源。如果您尝试手动更改由 operator 管理的 OpenShift 资源,Operator 会将您的更改还原。
但是,更改由 Operator 管理的 OpenShift 资源对于执行某些任务很有用,例如:
-
添加控制 Istio 或其他服务如何处理
Pod的自定义标签或注解 -
管理集群如何创建
Loadbalancer-type Services
您可以使用 AMQ Streams 自定义资源中的 template 属性进行此类更改。template 属性在以下资源中受到支持:API 引用提供了有关可自定义字段的更多详情。
Kafka.spec.kafka-
请查看 第 13.2.32 节 “
KafkaClusterTemplate模式参考” Kafka.spec.zookeeper-
请查看 第 13.2.43 节 “
ZookeeperClusterTemplateschema reference” Kafka.spec.entityOperator-
请查看 第 13.2.48 节 “
EntityOperatorTemplate模式参考” Kafka.spec.kafkaExporter-
请查看 第 13.2.54 节 “
KafkaExporterTemplate模式参考” Kafka.spec.cruiseControl-
请查看 第 13.2.51 节 “
CruiseControlTemplate模式参考” KafkaConnect.spec-
请查看 第 13.2.68 节 “
KafkaConnectTemplate模式参考” KafkaConnectS2I.spec-
请查看 第 13.2.68 节 “
KafkaConnectTemplate模式参考” KafkaMirrorMaker.spec-
请查看 第 13.2.108 节 “
KafkaMirrorMakerTemplate模式参考” KafkaMirrorMaker2.spec-
请查看 第 13.2.68 节 “
KafkaConnectTemplate模式参考” KafkaBridge.spec-
请查看 第 13.2.118 节 “
KafkaBridgeTemplate模式引用” KafkaUser.spec-
请查看 第 13.2.101 节 “
KafkaUserTemplate模式参考”
在以下示例中,使用 template 属性来修改 Kafka 代理的 StatefulSet 中的标签:
模板自定义示例
2.6.1. 自定义镜像拉取策略 复制链接链接已复制到粘贴板!
AMQ Streams 允许您自定义 Cluster Operator 部署的所有 pod 中容器的镜像拉取策略。镜像拉取策略使用 Cluster Operator 部署中的环境变量 STRIMZI_IMAGE_PULL_POLICY 进行配置。STRIMZI_IMAGE_PULL_POLICY 环境变量可设置为三个不同的值:
Always- 每次 pod 启动或重启时,都会从注册表调取容器镜像。
IfNotPresent- 容器镜像只有在之前没有拉取(pull)时才从注册表中提取。
Never- 容器镜像永远不会从注册表调取。
镜像拉取策略目前只能对所有 Kafka、Kafka Connect 和 Kafka MirrorMaker 集群进行自定义。更改策略会导致所有 Kafka、Kafka Connect 和 Kafka MirrorMaker 集群滚动更新。
其它资源
- 有关 Cluster Operator 配置的更多信息,请参阅 第 5.1 节 “使用 Cluster Operator”。
- 有关镜像拉取策略的更多信息,请参阅 Disruptions。