tidb-operator有计划支持扩缩容pvc的大小吗?

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】version : 4.0.8, operator: v.1.0.8

【问题描述】因为物理机重新规划,发现存储这块和CPU的比例需要调整,但是目前修改tc的storage是生效的,但是对应statefulset里的存储无法修改:

* spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', and 'updateStrategy' are forbidden

看了下k8s官方的讨论:https://github.com/kubernetes/kubernetes/issues/68737
目前小强DB,已经实现了,https://github.com/cockroachdb/cockroach-operator/pull/244
想问下tidb有这方面的计划吗?


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

试一下,删除一下这个 statefulset 然后自动重建

手动删除sts是可以

但是发现一个奇怪的现象,

为了方便说明,
假设修改前storage为100G,修改后storage为200G
现象:
tc中的storage改变了,ts中storage确没有改变,但是pvc确由100G变成了200G,这个很奇怪。
最终导致tc和pvc中定义的storage一样,但中间测sts确不一样。这个不就导致一个不一致的状态了吗?

刚问了下公司的为k8s大佬,说sts,并不管理pvc的生命周期,只是创建的时候,负责创建pvc,后面就算pvc被删除了,sts也不会重建pvc。我这边也查了下日志,是operator直接修改的pvc的storage大小。

这个是符合预期的。
修改了 pv 以后,storage 是基于以前的 pv 创建的。所以不会改变。
当删除 sts 以后,会根据现存的 pv 重新创建,所以使用的是修改后的大小。