2.6. 自定义 OpenShift 资源


AMQ Streams 创建几个 OpenShift 资源,如 DeploymentStatefulSet、 PodServices,它们由 AMQ Streams 操作器管理。只有负责管理特定 OpenShift 资源的操作器才能更改该资源。如果您尝试手动更改由 operator 管理的 OpenShift 资源,Operator 会将您的更改还原。

但是,更改由 Operator 管理的 OpenShift 资源对于执行某些任务很有用,例如:

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

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

在以下示例中,使用 template 属性来修改 Kafka 代理的 StatefulSet 中的标签:

模板自定义示例

apiVersion: kafka.strimzi.io/v1beta2
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 环境变量可设置为三个不同的值:

Always
每次 pod 启动或重启时,都会从注册表调取容器镜像。
IfNotPresent
容器镜像只有在之前没有拉取(pull)时才从注册表中提取。
Never
容器镜像永远不会从注册表调取。

镜像拉取策略目前只能对所有 Kafka、Kafka Connect 和 Kafka MirrorMaker 集群进行自定义。更改策略会导致所有 Kafka、Kafka Connect 和 Kafka MirrorMaker 集群滚动更新。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.