【发布时间】:2021-11-24 05:46:02
【问题描述】:
我正在尝试在 AWS EKS 上运行一个 go-ethereum 节点,因为我使用了具有以下配置的 statefulsets。 statefulset.yaml file
Runningkubectl apply -f statefulset.yaml 创建 2 个 Pod,其中 1 个正在运行,1 个处于 CrashLoopBackOff 状态。
Pods status
检查第二个 pod 的日志后,我得到的错误是 Fatal: Failed to create the protocol stack: datadir already used by another process。
Error logs i am getting
问题主要是由于 Pod 使用同一目录在持久卷上写入(获取数据)(即 Pod 正在写入“/data”)。如果我使用子路径表达式并将 pod 的目录安装到具有 pod 名称的子目录(例如:'/data/geth-0'),它工作正常。 statefulset.yaml with volume mounting to a sub directory with podname 但我的要求是所有三个 pod 的数据都写在 '/data' 目录中。 下面是我的卷配置文件。 volume configuration
【问题讨论】:
-
每个 pod 都有自己的链数据,这会消耗大量存储空间。我需要的是 Pod 在它们之间共享链数据
标签: kubernetes ethereum amazon-eks amazon-efs go-ethereum