8.2.14. 将 Kafka MirrorMaker 资源升级到 v1beta2

先决条件

流程

对部署中的每个 KafkaMirrorMaker 自定义资源执行以下步骤。

  1. 更新编辑器 中的 KafkaMirrorMaker 自定义资源。

    oc edit kafkamirrormaker MIRROR-MAKER
  2. 如果存在,移动:

    KafkaMirrorMaker.spec.affinity
    KafkaMirrorMaker.spec.tolerations

    改为:

    KafkaMirrorMaker.spec.template.pod.affinity
    KafkaMirrorMaker.spec.template.pod.tolerations

    例如,移动:

    spec:
      # ...
      affinity:
        # ...
      tolerations:
        # ...

    改为:

    spec:
      # ...
      template:
        pod:
          affinity:
            # ...
          tolerations:
            # ...
  3. 如果 type: 外部 日志记录配置了 in .spec.logging:

    替换包含日志配置的 ConfigMap 名称

    logging:
      type: external
      name: my-config-map

    使用 valueFrom.configMapKeyRef 字段,并指定将日志记录存储在的 ConfigMap 名称和

    logging:
      type: external
      valueFrom:
        configMapKeyRef:
          name: my-config-map
          key: log4j.properties
  4. 如果使用 .spec.metrics 字段来启用指标:

    1. 创建一个将 JMX Prometheus 导出器的 YAML 配置存储到一个键下的新 ConfigMap。YAML 必须与 .spec.metrics 字段中当前的内容匹配。

      kind: ConfigMap
      apiVersion: v1
      metadata:
        name: kafka-mm-metrics
        labels:
          app: strimzi
      data:
        mm-metrics-config.yaml: |
            <YAML>
    2. 添加指向 ConfigMap 和键的 a .spec.metricsConfig 属性:

      metricsConfig:
        type: jmxPrometheusExporter
        valueFrom:
          configMapKeyRef:
            name: kafka-mm-metrics
            key: mm-metrics-config.yaml
    3. 删除 old .spec.metrics 字段。
  5. KafkaMirrorMaker 自定义资源的 apiVersion 更新为 v1beta2

    替换:

    apiVersion: kafka.strimzi.io/v1beta1

    使用:

    apiVersion: kafka.strimzi.io/v1beta2
  6. 保存文件,退出编辑器并等待更新的自定义资源得到协调。