9.4. 配置实体 Operator


使用 Kafka.spec 中的 entityOperator 属性来配置实体 Operator。Entity Operator 用于管理在 Kafka 集群中运行的与 Kafka 相关的实体。它由以下 Operator 组成:

  • 管理 Kafka 主题的主题 Operator
  • 用于管理 Kafka 用户的用户 Operator

通过配置 Kafka 资源,Cluster Operator 可以部署 Entity Operator,包括一个或多个 Operator。部署后,Operator 会自动配置为处理 Kafka 集群的主题和用户。

每个 operator 只能监控单个命名空间。如需更多信息,请参阅 第 1.2.1 节 “在 OpenShift 命名空间中监视 Apache Kafka 资源的流”

entityOperator 属性支持多个子属性:

  • tlsSidecar
  • topicOperator
  • userOperator
  • 模板

tlsSidecar 属性包含 TLS sidecar 容器的配置,用于与 ZooKeeper 通信。

template 属性包含 Entity Operator pod 的配置,如标签、注解、关联性和容限。有关配置模板的详情,请参考 第 9.16 节 “自定义 OpenShift 资源”

topicOperator 属性包含主题 Operator 的配置。当缺少这个选项时,在没有 Topic Operator 的情况下部署 Entity Operator。

userOperator 属性包含 User Operator 的配置。当缺少这个选项时,会在没有 User Operator 的情况下部署 Entity Operator。

有关配置实体 Operator 的属性的更多信息,请参阅 EntityOperatorSpec 模式参考

启用这两个 Operator 的基本配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
  zookeeper:
    # ...
  entityOperator:
    topicOperator: {}
    userOperator: {}
Copy to Clipboard Toggle word wrap

如果将空对象({})用于 topicOperatoruserOperator,则所有属性都使用其默认值。

当缺少 topicOperatoruserOperator 属性时,实体 Operator 不会被部署。

9.4.1. 配置主题 Operator

使用 Kafka.spec.entityOperator 中的 topicOperator 属性来配置 Topic Operator。

注意

如果您使用 unidirectional 主题管理(默认启用),则不会使用以下属性,并会被忽略: Kafka.spec.entityOperator.topicOperator.zookeeperSessionTimeoutSecondsKafka.spec.entityOperator.topicMetadataMaxAttempts。有关单向主题管理的详情,请参考 第 10.1 节 “主题管理模式”

支持以下属性:

watchedNamespace
主题 Operator 监视 KafkaTopic 资源的 OpenShift 命名空间。default 是部署 Kafka 集群的命名空间。
reconciliationIntervalSeconds
定期协调之间的间隔(以秒为单位)。默认 120
zookeeperSessionTimeoutSeconds
ZooKeeper 会话超时(以秒为单位)。默认 18
topicMetadataMaxAttempts
从 Kafka 获取主题元数据的尝试次数。每次尝试之间的时间都定义为指数避退。当主题创建可能会因为分区或副本数增加时,请考虑增加这个值。默认 6
image
image 属性可用于配置使用的容器镜像。如需更多信息,请参阅有关 配置镜像 属性 提供的信息。
资源
resources 属性配置分配给 Topic Operator 的资源数量。您可以为 内存和 cpu 资源指定请求和限值。请求应该足以确保操作器的稳定性能。
logging
logging 属性配置 Topic Operator 的日志记录。如需更多信息,请参阅 主题 Operator 日志记录 上提供的信息。

主题 Operator 配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
  zookeeper:
    # ...
  entityOperator:
    # ...
    topicOperator:
      watchedNamespace: my-topic-namespace
      reconciliationIntervalSeconds: 60
      resources:
        requests:
          cpu: "1"
          memory: 500Mi
        limits:
          cpu: "1"
          memory: 500Mi
    # ...
Copy to Clipboard Toggle word wrap

9.4.2. 配置用户 Operator

使用 Kafka.spec.entityOperator 中的 userOperator 属性来配置 User Operator。支持以下属性:

watchedNamespace
User Operator 监视 KafkaUser 资源的 OpenShift 命名空间。default 是部署 Kafka 集群的命名空间。
reconciliationIntervalSeconds
定期协调之间的间隔(以秒为单位)。默认 120
image
image 属性可用于配置要使用的容器镜像。如需更多信息,请参阅有关 配置镜像 属性 提供的信息。
资源
resources 属性配置分配给 User Operator 的资源数量。您可以为 内存和 cpu 资源指定请求和限值。请求应该足以确保操作器的稳定性能。
logging
logging 属性配置 User Operator 的日志记录。如需更多信息,请参阅 User Operator 日志记录 上提供的信息。
secretPrefix
secretPrefix 属性在 KafkaUser 资源创建的所有 Secret 的名称中添加前缀。例如,secretPrefix: kafka- 会将所有 Secret 名称的前缀为 kafka-。因此,名为 my-user 的 KafkaUser 会创建一个名为 kafka-my-user 的 Secret。

User Operator 配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
  zookeeper:
    # ...
  entityOperator:
    # ...
    userOperator:
      watchedNamespace: my-user-namespace
      reconciliationIntervalSeconds: 60
      resources:
        requests:
          cpu: "1"
          memory: 500Mi
        limits:
          cpu: "1"
          memory: 500Mi
    # ...
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat