8.2.5. 升级 Kafka 资源以支持 v1beta2
先决条件
-
支持
v1beta2
API 版本的一个 Cluster Operator 已启动且正在运行。
流程
对部署中的每个 Kafka
自定义资源执行以下步骤。
更新编辑器中的
Kafka
自定义资源。oc edit kafka KAFKA-CLUSTER
如果您还没有这样做,请将 update
.spec.kafka.listener
更新为新的通用监听程序格式,如 第 8.2.6 节 “将监听程序更新到通用监听器配置” 所述。警告API 版本
v1beta2
不支持旧的监听程序格式。-
如果存在,将
关联性
从.spec.kafka.affinity
移到.spec.kafka.template.pod.affinity
。 -
如果存在,将
容限
从.spec.kafka.tolerations
移到.spec.kafka.template.pod.tolerations
。 -
如果存在,则删除
.spec.kafka.template.tlsSidecarContainer
。 -
如果存在,则删除
.spec.kafka.tlsSidecarContainer
。 如果存在以下策略配置:
-
.spec.kafka.template.externalBootstrapService.externalTrafficPolicy
.spec.kafka.template.perPodService.externalTrafficPolicy
-
将配置移动到
.spec.ka.listeners[].configuration.externalTrafficPolicy
,两者都用于loadbalancer
和type: nodeport
侦听器。 -
remove
.spec.kafka.template.externalBootstrapService.externalTrafficPolicy
或.spec.kafka.template.perPodService.externalTrafficPolicy
.
-
将配置移动到
-
如果存在以下
负载均衡器监听程序
配置之一:-
.spec.kafka.template.externalBootstrapService.loadBalancerSourceRanges
.spec.kafka.template.perPodService.loadBalancerSourceRanges
-
将配置移到
.spec.ka.kafka.listeners[].configuration.loadBalancerSourceRanges
,用于type: loadbalancer
侦听器。 -
remove
.spec.kafka.template.externalBootstrapService.loadBalancerSourceRanges
或.spec.kafka.template.perPodService.loadBalancerSourceRanges
.
-
将配置移到
-
如果
type: 外部
日志记录配置了 in.spec.kafka.logging
:替换包含日志配置的 ConfigMap
名称
:logging: type: external name: my-config-map
使用
valueFrom.configMapKeyRef
字段,并指定将日志记录存储在的 ConfigMap名称和
键
:logging: type: external valueFrom: configMapKeyRef: name: my-config-map key: log4j.properties
如果使用
.spec.kafka.metrics
字段来启用指标数据:创建一个将 JMX Prometheus 导出器的 YAML 配置存储到一个键下的新 ConfigMap。YAML 必须与
.spec.kafka.metrics
字段中当前的内容匹配。kind: ConfigMap apiVersion: v1 metadata: name: kafka-metrics labels: app: strimzi data: kafka-metrics-config.yaml: | <YAML>
添加指向 ConfigMap 和键的 a
.spec.kafka.metricsConfig
属性:metricsConfig: type: jmxPrometheusExporter valueFrom: configMapKeyRef: name: kafka-metrics key: kafka-metrics-config.yaml
-
删除 old
.spec.kafka.metrics
字段。
- 保存文件,退出编辑器并等待更新的自定义资源得到协调。
接下来要做什么
对于每个 Kafka
自定义资源,升级 ZooKeeper、Topic Operator、实体 Operator 和 Cruise Control(如果已部署)的配置来支持 v1beta2
版本。这在以下步骤中进行了说明。
当所有 Kafka
配置都更新为支持 v1beta2
时,您可以将 Kafka
自定义资源升级到 v1beta2
。