为了账号安全,请及时绑定邮箱和手机立即绑定

Persist a Single Value Kubernetes & Golang

Persist a Single Value Kubernetes & Golang

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

1 回答

?
DIEA

TA贡献1820条经验 获得超3个赞

在 Kubernetes 中,您可以使用以下选项将数据存储在 POD 外部(或者实际上在 POD 之间共享数据)。

  1. 持久卷:共享文件系统,将数据作为文件共享

  2. ConfigMap/Secret:基于Kubernetes的共享对象,你使用Kubernetes API来存储数据;Kubernetes在引擎盖下使用etcd,共识算法应用于每次数据变化,因此数据的大小需要很小,性能不是很好

  3. 第三方工具:Hazelcast,Redis,TiKV;您使用他们的客户端(或 REST API)来存储您的值


我不确定你的确切用例,但我会从第三方软件开始。它们使用 Helm Chart of Operator 进行部署非常简单。另一个选项是“持久卷”。ConfigMap/Secret,我会把它当作最后的手段。


查看完整回答
反对 回复 2022-08-24
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号