我有一个在Kubernetes中运行的Golang应用程序,它需要在其内存之外持久保存单个字符串值。换句话说,如果重新部署应用程序或重新启动 Pod ,则该值不会丢失。我还需要能够定期从golang阅读和写入此内容。什么是做到这一点的好方法?到目前为止,我已经想到了:ConfigMap:这是否被视为滥用配置映射,它们甚至是持久的?PersistentVolume:这似乎很合适,但是我可以用这个值或文件存储一个值,而不是设置整个数据库吗?谢谢!
1 回答

DIEA
TA贡献1820条经验 获得超3个赞
在 Kubernetes 中,您可以使用以下选项将数据存储在 POD 外部(或者实际上在 POD 之间共享数据)。
持久卷:共享文件系统,将数据作为文件共享
ConfigMap/Secret:基于Kubernetes的共享对象,你使用Kubernetes API来存储数据;Kubernetes在引擎盖下使用etcd,共识算法应用于每次数据变化,因此数据的大小需要很小,性能不是很好
第三方工具:Hazelcast,Redis,TiKV;您使用他们的客户端(或 REST API)来存储您的值
我不确定你的确切用例,但我会从第三方软件开始。它们使用 Helm Chart of Operator 进行部署非常简单。另一个选项是“持久卷”。ConfigMap/Secret,我会把它当作最后的手段。
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消