集群创建的时候开启了持久化存储:persistence.enabled=true
在有吞吐情况下节点重启会无法启动,如果将pvc删除就可以,我现在使用的k8s版本无法在删除pod同时删除pvc,这种情况下有什么好方法吗?
看起来应该是有消息持久化到pvc了,pod重启时候读pvc存储文件有问题
- 建议存储到内存
- pod挂载不同pvc或pvc不同目录,确保重启pod读取原来文件
第二条是什么意思能麻烦详细解释一下吗?
当前每个pod是挂载不同的pvc的,pod重启时pvc因为没有删除所以重启后还是挂载老的pvc上,没有连接的时候是正常的,但是有连接有吞吐的时候就会出现启动不成功
好的,已经是单独的pvc了,有连接和吞吐时候数据存储到pvc了,建议把消息存储到第三方数据库或消息队列,持久化不太适用k8s pod存储到pvc
你们官方测试集群容器节点都是不挂载pvc的吗
是的,这里一般pvc存储的是配置文件,pod重启后修改过的配置文件复用,消息存储到磁盘一般是emqx进程重启,pod重启可能不太适用。
感谢您的使用场景,我们后续研究一下这块如何优化