当我在构建应用程序以在 AWS 上的 Kubernetes 集群上部署我的应用程序时,我卡在了某个地方。
假设我们有一个带有一个主节点和 3 个工作节点的 k8s 集群。一个复制控制器的 3 个 Pod 在所有三个节点上运行。我应该如何管理它的存储。所有三个 pod 将如何同步?我尝试使用 EBS 进行 PVC,但它安装在单个节点的 pod 上。有没有其他方法可以使用 EBS 管理 kubernetes 中的存储存储。我还看到一些博客说我们可以使用 EFS。如果有人有任何想法,请帮助我。
谢谢
当我在构建应用程序以在 AWS 上的 Kubernetes 集群上部署我的应用程序时,我卡在了某个地方。
假设我们有一个带有一个主节点和 3 个工作节点的 k8s 集群。一个复制控制器的 3 个 Pod 在所有三个节点上运行。我应该如何管理它的存储。所有三个 pod 将如何同步?我尝试使用 EBS 进行 PVC,但它安装在单个节点的 pod 上。有没有其他方法可以使用 EBS 管理 kubernetes 中的存储存储。我还看到一些博客说我们可以使用 EFS。如果有人有任何想法,请帮助我。
谢谢
你可以做 EFS,但它对你来说可能太慢了。基本上它是一个 NFS 服务器,您可以为其制作 pv pvc。然后你可以把它安装在所有东西上。
如果 EFS 太慢,请在集群外使用 nfs 服务器,不要将其安装在集群中,您需要 amazon linux ami 而不是 debian os。
我猜是说“三个吊舱将如何同步?” 您的意思是在 pod 之间共享相同的持久卷?
如果是这样,请阅读访问模式: https ://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes
AWS EBS 仅支持“ReadWriteOnce”,这意味着它不能在 pod 之间共享。
我没有尝试过 EFS,但在这里它看起来确实支持“ReadWriteMany”:https ://github.com/kubernetes-incubator/external-storage/blob/f4d25e43f96d3a43359546dd0c1011ed3d203ca4/aws/efs/deploy/claim.yaml#L9
我已经通过使用 EFS 弄清楚了。我关注了这个博客。https://ngineered.co.uk/blog/using-amazon-efs-to-persist-and-share-between-conatiners-data-in-kubernetes