Kubernetes AWS 共享持久卷
Kubernetes AWS shared persistent volume
我有以下内容:
2 个 pod 副本,负载均衡。
每个副本有 2 个容器共享网络。
我要找的是共享卷...
我正在寻找一个解决方案,其中 2 pods 和 pods 中的每个容器都可以共享具有读+写访问权限的目录。因此,如果来自 pod 1 的一个容器向其写入数据,则来自 pod 2 的容器将能够访问新数据。
这可以通过持久卷和 PVC 实现吗?如果是这样,我需要什么以及指向有关什么 FS 最有效、静态与动态和存储的更多细节的指针是什么 class.
卷可以是 S3 存储桶吗?
谢谢!
根据价格和所需的努力,有多种选择:
- 最简单但更昂贵的解决方案是使用 EFS + NFS Persistent Volumes. However, EFS has serious throughput limitations, read here 了解详情。
- 您可以在内部创建带有 NFS 服务器的 pod,然后再次将 NFS 持久卷装载到 pods 中。请参阅示例 here。这需要更多的手动工作,并且不完全高可用。如果 NFS 服务器 pod 出现故障,那么您会在它被重新创建之前观察到一些(希望如此)短暂的停机时间。
- 对于 HA 配置,您可以在 Kubernetes 上配置 GlusterFS。这需要最多的努力,但具有很大的灵活性和速度。
- 虽然使用糟糕的拐杖将 S3 安装到 pods 中是有可能的,但这种解决方案有很多缺点,并且总体上不是生产级的。出于测试目的,您可以这样做。
请参阅 https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes 以了解所有可用的卷后端(您需要 ReadWriteMany
兼容性)
如您所见,AWSElasticBlockStore
不支持它。您将需要任何支持 ReadWriteMany
.
的第 3 方卷提供程序
UPD:另一个答案 表明 AWS EFS 也可以。
我有以下内容:
2 个 pod 副本,负载均衡。 每个副本有 2 个容器共享网络。
我要找的是共享卷...
我正在寻找一个解决方案,其中 2 pods 和 pods 中的每个容器都可以共享具有读+写访问权限的目录。因此,如果来自 pod 1 的一个容器向其写入数据,则来自 pod 2 的容器将能够访问新数据。
这可以通过持久卷和 PVC 实现吗?如果是这样,我需要什么以及指向有关什么 FS 最有效、静态与动态和存储的更多细节的指针是什么 class.
卷可以是 S3 存储桶吗?
谢谢!
根据价格和所需的努力,有多种选择:
- 最简单但更昂贵的解决方案是使用 EFS + NFS Persistent Volumes. However, EFS has serious throughput limitations, read here 了解详情。
- 您可以在内部创建带有 NFS 服务器的 pod,然后再次将 NFS 持久卷装载到 pods 中。请参阅示例 here。这需要更多的手动工作,并且不完全高可用。如果 NFS 服务器 pod 出现故障,那么您会在它被重新创建之前观察到一些(希望如此)短暂的停机时间。
- 对于 HA 配置,您可以在 Kubernetes 上配置 GlusterFS。这需要最多的努力,但具有很大的灵活性和速度。
- 虽然使用糟糕的拐杖将 S3 安装到 pods 中是有可能的,但这种解决方案有很多缺点,并且总体上不是生产级的。出于测试目的,您可以这样做。
请参阅 https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes 以了解所有可用的卷后端(您需要 ReadWriteMany
兼容性)
如您所见,AWSElasticBlockStore
不支持它。您将需要任何支持 ReadWriteMany
.
UPD:另一个答案