Kubernetes AWS 共享持久卷

Kubernetes AWS shared persistent volume

我有以下内容:

2 个 pod 副本,负载均衡。 每个副本有 2 个容器共享网络。

我要找的是共享卷...

我正在寻找一个解决方案,其中 2 pods 和 pods 中的每个容器都可以共享具有读+写访问权限的目录。因此,如果来自 pod 1 的一个容器向其写入数据,则来自 pod 2 的容器将能够访问新数据。

这可以通过持久卷和 PVC 实现吗?如果是这样,我需要什么以及指向有关什么 FS 最有效、静态与动态和存储的更多细节的指针是什么 class.

卷可以是 S3 存储桶吗?

谢谢!

根据价格和所需的努力,有多种选择:

  1. 最简单但更昂贵的解决方案是使用 EFS + NFS Persistent Volumes. However, EFS has serious throughput limitations, read here 了解详情。
  2. 您可以在内部创建带有 NFS 服务器的 pod,然后再次将 NFS 持久卷装载到 pods 中。请参阅示例 here。这需要更多的手动工作,并且不完全高可用。如果 NFS 服务器 pod 出现故障,那么您会在它被重新创建之前观察到一些(希望如此)短暂的停机时间。
  3. 对于 HA 配置,您可以在 Kubernetes 上配置 GlusterFS。这需要最多的努力,但具有很大的灵活性和速度。
  4. 虽然使用糟糕的拐杖将 S3 安装到 pods 中是有可能的,但这种解决方案有很多缺点,并且总体上不是生产级的。出于测试目的,您可以这样做。

请参阅 https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes 以了解所有可用的卷后端(您需要 ReadWriteMany 兼容性)

如您所见,AWSElasticBlockStore 不支持它。您将需要任何支持 ReadWriteMany.

的第 3 方卷提供程序

UPD:另一个答案 表明 AWS EFS 也可以。