【附件】:
- 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
我研究的也不深,但我理解文中说的是kubectl edit tc ${cluster_name} -n ${namespace}
执行之后,配置文件中的这个地方:
然后修改k8s节点的label,没太看明白你找的这几个地方,希望能帮到你。
你想要的是不是这
https://docs.pingcap.com/zh/tidb/stable/schedule-replicas-by-topology-labels/
operator里 可以配置config
k8s上节点亲和性和标签不都应该在k8s层面上看么?楼主切进容器里面查,能查到么?能给我解解惑么?
他是要给tikv 打标签 然后 说的应该是region副本的调度
我理解错了,不好意思,
这个我理解是直接修改 TidbCluster CR 中的 spec.pd.config 和 spec.tikv.config ? 这样子是生效的么。
刚开始接触 operator,了解不多
好的 这块我比较了解,可以解决你这个问题,知乎现在就是使用这个功能进行副本调度的。首先我想知道您是什么依据判断没有打上 label 的。我这边推荐的查看方式是使用 pd-ctl 里面的 store 命令来确认所有 store 的 label。可以提供一下上面方式返回的结果么
实际上 operator 会根据 pd config 里面的 location-labels & tikv.Storelabels 来通过 tikv api 来给 tikv 配置 label, 不是通过配置文件的方式去进行配置的, 所以配置文件里面可能看不到你想看到的差异,通过 pd api 里面的 store 列表的方式可以看到这种方式设置进去的 label, operator会不断的判断 tikv 是否和 node 上面的 label 一致,如果不一致就会更新
收到,配置看着没啥问题,store 也确实没打上 label,能提供一下 operator 的日志么
no permission for nodes, skip creating node lister 我怀疑是因为这个,没有 node 的权限,所以拿不到对应的值
能确认一下 role 的权限范围么
看了一下代码,
如果不是 clusterScoped 的情况下会根据 ClusterPermissionNode 来判断是否有节点权限,我们现在的情况看来是没有节点权限的,如果没有节点权限就不会初始化 nodeLister 如果没有 node listener set_store_labels_for_tikv 函数会直接返回而且看你集群状态,感觉是在滚动重启,可以先等状态稳定一下再看看
感谢 @L3T 帮忙解答
感觉这个还挺像的,一直在尝试 evict leader