前提
1. 持久存储试了 glusterfs ,nfs ,s3fs ,sshfs 这些。刚看到 longhorn 的文档暂且还不太了解。
2. 在不同的云服务商购买的裸金属服务器( vps )共计 5 台,只有两台在同一地区且互相 ping 少于 1ms 。
3. 有一台 vps 的硬盘存储容量 1t ,希望使用它作为集群主存储空间,但 cpu 性能极弱不可能作为 master 或者 manager 。
4. 目前此集群基于 zerotier 组网。
5. 只是个人用来玩的实验性环境,并非生产环境,希望不要太认真啦。
## 处境
有些容器会使用 sqlite3 作为简易的本地数据库,这就对挂载存储 IOPS 要求提高。
如果在多云环境下许多不同的多云服务商,组成集群的这些 vps 还不在同一个地区那虚拟磁盘的读写速度就更加糟糕了。
这就导致容器使用的 sqlite3 极为缓慢,在外部看起来访问速度几乎不可接受。
可以使用其它数据库弃用 sqlite3 ,但是在一次尝试中发现 postgres 同样对挂载的 volume 的性能要求高,速度差不了多少同样是不可接受的。
## 疑问
1. 像这样的多云环境下如何部署持久化存储才是最佳实践?
2. 观察到用于组网的 zerotier 的首次 ping 延迟会很高,是否它也是一个巨大的影响因素?
3. 希望容器死亡后被重新创建的时候可以继续使用之前的持久化存储内容,但是极有可能不调度在同一个机器上,如果上面两个问题根本无解,也许这种情况更需要的是一个目录同步工具而不是持久化存储?
## 最后
刚开始学习容器编排不久,希望能有大佬可以解惑。
感谢阅读到这里的每一个人,真的非常感谢!!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/903748
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.