【 TiDB 使用环境】生产环境
【 TiDB 版本】5.2.2
【复现路径】
【遇到的问题:问题现象及影响】
通过kubernetes部署dm 集群,DMCluster中配置的是29个副本数,但是实际会产生32个副本,如下:
【资源配置】
【附件:截图/日志/监控】
【 TiDB 使用环境】生产环境
【 TiDB 版本】5.2.2
【复现路径】
【遇到的问题:问题现象及影响】
通过kubernetes部署dm 集群,DMCluster中配置的是29个副本数,但是实际会产生32个副本,如下:
【资源配置】
【附件:截图/日志/监控】
DM 集群中的 dm-worker 副本数是由 StatefulSet 控制的,而不是由 DMCluster 控制的。因此,如果您在 DMCluster 中配置了 29 个 dm-worker 副本,但实际上生成了 32 个副本,可能是由于 StatefulSet 的配置不正确导致的。
您可以通过以下步骤来检查和解决此问题:
kubectl describe statefulset <statefulset-name> -n <namespace>
您需要检查以下字段是否正确设置:
spec.replicas
:应该与 DMCluster 中的 dm-worker 副本数相同。spec.volumeClaimTemplates
:应该与 DMCluster 中的 dm-worker PVC 模板相同。kubectl get pods -l app.kubernetes.io/component=dm-worker -n <namespace>
如果存在其他的 dm-worker 副本,您可以使用以下命令删除它们:
kubectl delete pod <pod-name> -n <namespace>
请注意,这将会停止正在运行的 dm-worker 副本,并重新启动一个新的副本。
好的,多谢,我试一下
我得statefulset中是32个,但是我通过kubectl edit statefulset dm1-dm-worker -n 修改成29个后,会自动变成32个