第 58 章 CruiseControlSpec 模式参考


使用于: KafkaSpec

CruiseControlSpec 模式属性的完整列表

配置一个 Cruise Control 集群。

配置选项与以下内容相关:

  • 目标配置
  • 资源分布目标的容量限制

config 属性是资源整体配置的一部分。使用 config 属性将控制选项配置为密钥。

Cruise Control 配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  # ...
  cruiseControl:
    # ...
    config:
      # Note that `default.goals` (superset) must also include all `hard.goals` (subset)
      default.goals: >
        com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal,
        com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal
      hard.goals: >
        com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal
      cpu.balance.threshold: 1.1
      metadata.max.age.ms: 300000
      send.buffer.bytes: 131072
      webserver.http.cors.enabled: true
      webserver.http.cors.origin: "*"
      webserver.http.cors.exposeheaders: "User-Task-ID,Content-Type"
    # ...
Copy to Clipboard Toggle word wrap

这些值可以是以下 JSON 类型之一:

  • 字符串
  • Number
  • 布尔值

例外

您可以指定并配置 Cruise Control 文档 中列出的选项。

但是,Apache Kafka 的流负责配置和管理与以下内容相关的选项,而这无法更改:

  • 安全性(加密、身份验证和授权)
  • 连接到 Kafka 集群
  • 客户端 ID 配置
  • ZooKeeper 连接
  • Web 服务器配置
  • 自我修复

无法设置具有以下前缀的属性:

  • bootstrap.servers
  • capacity.config.file
  • client.id
  • failed.brokers.zk.path
  • kafka.broker.failure.detection.enable
  • metric.reporter.sampler.bootstrap.servers
  • 网络。
  • request.reason.required
  • 安全性。
  • self.healing.
  • ssl.
  • topic.config.provider.class
  • two.step.
  • webserver.accesslog.
  • webserver.api.urlprefix
  • webserver.http.
  • webserver.session.path
  • zookeeper.

如果 config 属性包含一个无法更改的选项,它将被忽略,并将警告信息记录到 Cluster Operator 日志文件。所有其他支持选项都转发到 Cruise Control,包括对 Apache Kafka 的 Streams 配置的选项的以下例外:

58.1. 交叉资源共享(CORS)

cross-Origin Resource Sharing (CORS)是一种 HTTP 机制,用于控制对 REST API 的访问。限制可以是访问方法或客户端应用的原始 URL。您可以使用 config 中的 webserver.http.cors.enabled 属性通过 Cruise Control 启用 CORS。启用后,CORS 允许从不同于 Apache Kafka 的原始 URL 的应用程序读取对 Cruise Control REST API 的访问。这允许来自指定源中的应用程序通过 Cruise Control API 来使用 GET 请求获取 Kafka 集群的信息。例如,应用程序可以获取当前集群负载或最新优化建议的信息。不允许 POST 请求。

注意

有关使用 Cruise Control 的 CORS 的更多信息,请参阅 Cruise Control Wiki 中的 REST API

为 Cruise Control 启用 CORS

您可以在 Kafka.spec.cruiseControl.config 中启用和配置 CORS。

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  # ...
  cruiseControl:
    # ...
    config:
      webserver.http.cors.enabled: true 
1

      webserver.http.cors.origin: "*" 
2

      webserver.http.cors.exposeheaders: "User-Task-ID,Content-Type" 
3


    # ...
Copy to Clipboard Toggle word wrap
1
启用 CORS。
2
Access-Control-Allow-Origin HTTP 响应标头指定允许的源。您可以使用通配符,或者将单个源指定为 URL。如果您使用通配符,则会在任何来源中返回响应。
3
Access-Control-Expose-Headers HTTP 响应标头公开指定的标头名称。允许的来源中的应用程序可以使用指定的标头读取响应。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat