8.6. 部署清理控制


要将 Cruise Control 部署到 AMQ Streams 集群,请使用 Kafka 资源中的 cruise Control 属性定义配置,然后创建或更新资源。

每个 Kafka 集群部署一个 Cruise Control 实例。

先决条件

  • OpenShift 集群
  • 一个正在运行的 Cluster Operator

流程

  1. 编辑 Kafka 资源并添加 cruise Control 属性。

    您可以配置的属性显示在此示例配置中:

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
    spec:
      # ...
      cruiseControl:
        brokerCapacity: 1
          inboundNetwork: 10000KB/s
          outboundNetwork: 10000KB/s
          # ...
        config: 2
          default.goals: >
             com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal,
             com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal
             # ...
          cpu.balance.threshold: 1.1
          metadata.max.age.ms: 300000
          send.buffer.bytes: 131072
          # ...
        resources: 3
          requests:
            cpu: 1
            memory: 512Mi
          limits:
            cpu: 2
            memory: 2Gi
        logging: 4
            type: inline
            loggers:
              rootLogger.level: "INFO"
        template: 5
          pod:
            metadata:
              labels:
                label1: value1
            securityContext:
              runAsUser: 1000001
              fsGroup: 0
            terminationGracePeriodSeconds: 120
        readinessProbe: 6
          initialDelaySeconds: 15
          timeoutSeconds: 5
        livenessProbe: 7
          initialDelaySeconds: 15
          timeoutSeconds: 5
    # ...
    1
    指定代理资源的容量限制。如需更多信息,请参阅 容量配置
    2
    定义 Cruise 控制配置,包括默认优化目标( 默认为默认值),以及对主要优化目标( 目标)或硬目标( 硬目标)的自定义。除了由 AMQ Streams 直接管理的以外,您还可以提供任何 标准 Cruise Control 配置选项。有关配置优化目标的详情请参考 第 8.2 节 “优化目标概述”
    3
    为 Cruise Control 保留的 CPU 和内存资源.如需更多信息,请参阅 第 13.1.5 节 “资源
    4
    定义的日志记录器和日志级别通过 ConfigMap 直接(内线)或间接(外部)添加。自定义 ConfigMap 必须放在 log4j.properties 键下。登陆控制具有一个名为 rootLogger.level 的单个日志记录器。您可以将日志级别设置为 INFO、ERROR、WARN、TRACE、DEBUG、FATAL 或 OFF。如需更多信息,请参阅 日志配置
    5
    6
    7
  2. 创建或更新资源:

    oc apply -f kafka.yaml
  3. 验证 Cruise Control 是否已成功部署:

    oc get deployments -l app.kubernetes.io/name=cruise-control

自动创建的主题

下表显示了部署 Cruise Control 时自动创建的三个主题。这些主题是必需的,清理控制才能正常工作,且不得删除或更改。

表 8.2. 自动创建的主题
自动创建的主题创建者功能

strimzi.cruisecontrol.metrics

AMQ Streams Metrics Reporter

将 Metrics Reporter 中的原始指标存储在每个 Kafka 代理中。

strimzi.cruisecontrol.partitionmetricsamples

Sything Control

存储每个分区派生的指标。它们由 Metric Sample Aggregator 创建。

strimzi.cruisecontrol.modeltrainingsamples

Sything Control

存储用于创建集群 工作负载模型 的指标示例。

为防止删除 Cruise Control 所需的记录,在自动创建的主题中禁用了日志压缩。

接下来要做什么

配置和部署 Cruise Control 后,您可以 生成优化建议

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.