2.8. 自定义 OpenShift 资源


AMQ Streams 部署创建 OpenShift 资源,如 DeploymentStatefulSetsPodServices。这些资源由 AMQ Streams operator 管理。只有负责管理特定 OpenShift 资源的 Operator 才能更改该资源。如果您尝试手动更改操作器管理的 OpenShift 资源,Operator 将还原您的更改。

如果要执行某些任务,则更改操作器管理的 OpenShift 资源非常有用,例如:

  • 添加控制 Istio 或其他服务如何处理 Pod 的自定义标签或注解
  • 管理集群如何创建 Loadbalancer-type Services

您可以使用 AMQ Streams 自定义资源中的 template 属性进行更改。以下资源支持 template 属性。API 引用提供有关可自定义字段的更多详情。

在以下示例中,template 属性用于修改 Kafka 代理 pod 中的标签。

模板自定义示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
  labels:
    app: my-cluster
spec:
  kafka:
    # ...
    template:
      pod:
        metadata:
          labels:
            mylabel: myvalue
    # ...
Copy to Clipboard Toggle word wrap

2.8.1. 自定义镜像拉取策略

AMQ Streams 允许您为 Cluster Operator 部署的所有 pod 中容器自定义镜像拉取策略。镜像拉取策略使用 Cluster Operator 部署中的环境变量 STRIMZI_IMAGE_PULL_POLICY 配置。STRIMZI_IMAGE_PULL_POLICY 环境变量可以设置为三个不同的值:

Always
每次 pod 启动或重启时都会从 registry 中拉取容器镜像。
IfNotPresent
仅当容器镜像没有拉取时,才会从 registry 中拉取容器镜像。
Never
容器镜像从 registry 中拉取。

镜像拉取(pull)策略目前只能自定义所有 Kafka、Kafka Connect 和 Kafka MirrorMaker 集群。更改策略将导致所有 Kafka、Kafka Connect 和 Kafka MirrorMaker 集群滚动更新。

2.8.2. 应用终止宽限期

应用终止宽限期,让 Kafka 集群有足够的时间来完全关闭。

使用 terminationGracePeriodSeconds 属性指定时间。将 属性添加到 Kafka 自定义资源的 template.pod 配置中。

您添加的时间将取决于 Kafka 集群的大小。终止宽限期的 OpenShift 默认为 30 秒。如果您发现集群没有完全关闭,您可以提高终止宽限期。

每次 pod 重启时会应用终止宽限期。在 OpenShift 向容器集中运行的进程发送 术语 (终止)信号时,该周期开始。周期应反映将终止 pod 的进程传输到另一个 pod 所需的时间,然后再停止它们。在周期结束后,kill 信号将停止 pod 中仍在运行的任何进程。

以下示例在 Kafka 自定义资源中添加终止宽限期( 120 秒)。您还可以在其他 Kafka 组件的自定义资源中指定配置。

终止宽限期配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    template:
      pod:
        terminationGracePeriodSeconds: 120
        # ...
    # ...
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat