如何在 aws EFS 上挂载 aws EC2 文件作为持久卷?

Posted

技术标签:

【中文标题】如何在 aws EFS 上挂载 aws EC2 文件作为持久卷?【英文标题】:How to mount aws EC2 files on aws EKS as presistent volume? 【发布时间】:2022-01-24 05:01:59 【问题描述】:

我有一个在 VPC (VPC-A)

中运行的 aws EC2 (EC2-A) 和 Amazon Managed Blockchain 此 EC2-A 实例有一些文件和证书(在区块链中执行交易所需) EC2-A 具有 EBS 存储,一次只能安装在一个 EC2 实例上。 交易只能从 EC2-A 执行到区块链网络,因为它们位于同一个 VPC-A 中。

我有一个在 VPC-B 中运行的 aws EKS(Kubernetes 集群)。

我如何从我的 k8s 集群中的 pod 访问 EC2-A 的文件和证书。我还有另一个 pod,它将成为区块链客户端 在 VPC-A 中的区块链网络中执行交易。

这些 VPC-A 和 VPC-B 都在同一个 aws 帐户中。

【问题讨论】:

【参考方案1】:

不支持将 EC2 实例上的文件夹/文件挂载到在 EKS 中运行的 pod。对于您的用例,如果不是 S3,您可以使用 EFS 轻松共享文件夹/文件。如果您只允许 Pod 与 EC2 通信,则需要一种方法让这些资源通过公共 IP(如果不是 VPC 对等互连)相互访问。然后你就可以运行 sftp、scp……任何你最熟悉的现成文件共享软件,用于文件交换。

【讨论】:

谢谢!它有帮助,通过 VPC 对等连接到 EC2。【参考方案2】:

你需要用VPC Peering连接2个VPC,然后你可以在你的EC2中安装NFS,并将PV、PVC指向NFS EC2。

【讨论】:

以上是关于如何在 aws EFS 上挂载 aws EC2 文件作为持久卷?的主要内容,如果未能解决你的问题,请参考以下文章

我们如何使用 python boto3 获取挂载到 EC2 实例的所有文件系统(EFS)的列表?

我们可以在 AWS ECS docker 容器上挂载 EFS 吗?

对等方重置连接:AWS EFS

AWS EFS vs EBS vs S3(差异和何时使用?)[关闭]

是否可以使用 AWS EFS 访问点在 EKS 中挂载 kubernetes 持久卷?

AWS Cloudformation - 在 EFS 中创建初始文件夹