我已经使用 docker 群编排部署了我的服务,为此我使用 3 个 GCP 虚拟机 1 个作为管理器节点,2 个作为工作器节点。现在需要跨节点共享数据。在对它进行一些研究后发现,一个可能的解决方案是在每个虚拟机上挂载一个 NFS 驱动器并将可共享的数据放在上面。 为此,我需要在 GCP 本身上有一个 NFS 共享,所以我在这里的问题是我如何获得 NFS 共享驱动器。我可以将磁盘从现有虚拟机之一转换为 NFS 共享,还是需要新的可共享存储,如果我必须采用新存储,我应该采用哪种存储(存储桶或文件存储(以及如何再次使它们作为 NFS 可共享。 我只是在尝试探索每种可能性,请推荐您拥有的所有可能的解决方案,我将尝试实施它们并获得最佳解决方案。
编辑 1:
无需添加新的 nfs 驱动器即可实现此目的。也许使用 Kubernetes 的Dynamic Volume Provisioning
功能或任何其他方式?
在这一点上,Google Cloud Filestore似乎是你最好的选择。在产品页面上,他们有直接的说明:
使用 gcloud 创建文件存储实例的简单命令。
gcloud filestore instances create nfs-server --project=[PROJECT_ID] --zone=us-central1-c --tier=STANDARD --file-share=name="vol1",capacity=1TB --network=name="default"
用于安装 NFS、装载文件共享和设置访问权限的简单命令 权限。
sudo apt-get -y update sudo apt-get -y install nfs-common sudo mkdir /mnt/test sudo mount 10.0.0.2:/vol1 /mnt/test sudo chmod go+rw /mnt/test
但是,"将磁盘从现有虚拟机之一转换为 NFS 共享">部分非常令人困惑。假设您正在尝试在计算机之间共享公共共享。