20.7. 批准优化提议
如果其状态为 ProposalReady
,您可以批准 Cruise Control 生成的 优化方案。然后,Cruise Control 会将优化提议应用到 Kafka 集群,将分区重新分配给代理并更改分区领导。
这不是空运行。在批准优化提议前,您必须:
- 刷新提议已过期。
- 仔细检查 提议的内容。
先决条件
- 您已从 Cruise 控制中生成了优化的提议。
-
KafkaRebalance
自定义资源状态为ProposalReady
。
流程
对您要批准的优化提议执行这些步骤。
除非新生成了优化建议,请检查它是否基于 Kafka 集群状态的当前信息。要做到这一点,刷新优化建议以确保它使用最新的集群指标:
使用
strimzi.io/rebalance=refresh
注解 OpenShift 中的KafkaRebalance
资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc annotate kafkarebalance <kafka_rebalance_resource_name> strimzi.io/rebalance="refresh"
oc annotate kafkarebalance <kafka_rebalance_resource_name> strimzi.io/rebalance="refresh"
等待优化提议的状态更改为
ProposalReady
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get kafkarebalance -o wide -w -n <namespace>
oc get kafkarebalance -o wide -w -n <namespace>
PendingProposal
-
PendingProposal
状态意味着重新平衡 Operator 正在轮询 Cruise Control API 来检查优化提议是否就绪。 ProposalReady
-
ProposalReady
状态表示优化提议已准备好审核和批准。
当状态变为
ProposalReady
时,优化提议可以批准。批准您希望 Cruise Control 适用的优化方案。
使用
strimzi.io/rebalance=approve
注解 OpenShift 中的KafkaRebalance
资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc annotate kafkarebalance <kafka_rebalance_resource_name> strimzi.io/rebalance="approve"
oc annotate kafkarebalance <kafka_rebalance_resource_name> strimzi.io/rebalance="approve"
- Cluster Operator 会检测注解的资源,并指示 Cruise Control 重新平衡 Kafka 集群。
等待优化提议的状态更改为
Ready
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get kafkarebalance -o wide -w -n <namespace>
oc get kafkarebalance -o wide -w -n <namespace>
重新平衡
-
Rebalancing
状态代表重新平衡正在进行。 Ready
-
Ready
状态表示重新平衡完成。 NotReady
-
NotReady
状态意味着出现错误 - 请参阅KafkaRebalance
资源 中的修复问题。
当状态更改为
Ready
时,重新平衡已完成。要使用同一
KafkaRebalance
自定义资源来生成另一个优化提议,请将refresh
注解应用到自定义资源。这会将自定义资源移到PendingProposal
或ProposalReady
状态。然后,您可以查看优化提议并批准它(如果需要)。