首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在k8s上部署stellar核心是否需要持久存储?

在k8s上部署stellar核心是否需要持久存储?
EN

Stack Overflow用户
提问于 2019-06-26 04:18:46
回答 2查看 104关注 0票数 0

我想在k8s上部署stellar核心,并完成CATCHUP。我正在使用这个docker图像satoshipay/stellar-core

在docker镜像文档中,提到了/data用于存储有关数据库的一些信息。我已经看到helm模板正在使用一个持久卷并将其挂载到/data中。

我想知道如果我使用部署而不是有状态集,并且我重新启动pod,更新它的docker版本或删除它,会发生什么?它会再次初始化数据库吗?

另外,恒星核心是否需要任何额外的存储空间来进行追赶?

EN

回答 2

Stack Overflow用户

发布于 2019-06-26 14:27:19

状态集与部署

StatefulSet“保证了这些Pod的有序性和唯一性”。如果您的应用程序需要以特定的顺序启动,请使用statefulset

存储

一定要为数据库使用持久卷。来自K8S Docs

容器中的

磁盘文件是短暂的

由于您似乎正在部署某种类型的区块链应用程序,这可能会导致启动的严重延迟

票数 0
EN

Stack Overflow用户

发布于 2019-06-26 20:32:13

Deployment中,您可以指定一个由所有pod副本共享的PersistentVolumeClaim。换句话说,共享卷。

如果您有多个副本pod,后备存储显然必须具有ReadWriteManyReadOnlyMany accessMode。

您可以指定一个volumeClaimTemplates,以便每个副本pod都能获得与其关联的唯一PersistentVolumeClaimStatefulSet换句话说,没有共享卷。

StatefulSet对于在集群中运行非常有用,例如Hadoop集群、MySQL集群,每个节点都有自己的存储。

因此,在您的情况下,有更多的隔离(没有共享卷)最好有基于状态集的解决方案。

如果您使用基于部署的解决方案(重新启动pod,更新其docker版本或删除它),您的数据库将再次初始化。

关于追赶的

一般来说,不建议在docker容器中运行CATCHUP_COMPLETE=true,因为默认情况下它们的资源有限(如果您真的想这样做,请确保让它们访问更多的资源: CPU、内存和磁盘空间)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56761445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档