3

我有以下内容:

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

我正在寻找的是共享卷...

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

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

卷可以是 S3 存储桶吗?

谢谢!

4

2 回答 2

2

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

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

UPD:另一个答案https://stackoverflow.com/a/51216537/923620表明 AWS EFS 也可以工作。

于 2019-04-23T10:10:20.767 回答
1

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

  1. 最简单但更昂贵的解决方案是使用EFS + NFS 持久卷。但是,EFS 有严重的吞吐量限制,请阅读此处了解详细信息。
  2. 您可以在内部创建带有 NFS-server 的 pod,然后再次将 NFS 持久卷挂载到 pod 中。请参见此处的示例。这需要更多的手动工作,并且不是完全高度可用的。如果 NFS-server pod 失败,那么在重新创建之前,您会观察到一些(希望是)短暂的停机时间。
  3. 对于 HA 配置,您可以在 Kubernetes 上配置GlusterFS 。这需要最大的努力,但允许很大的灵活性和速度。
  4. 尽管使用糟糕的拐杖以某种方式将 S3 安装到吊舱中是可能的,但这种解决方案有许多缺点,并且总体上不是生产级的。出于测试目的,您可以这样做。
于 2019-04-23T06:30:36.113 回答