【问题标题】:creating NFS directories remotely in google cloud在谷歌云中远程创建 NFS 目录
【发布时间】:2019-03-20 11:34:17
【问题描述】:

我正在尝试自动化创建这些目录的过程

/data/foo
/data/foo/baz
/data/bar

在我使用命令创建的 NFS(网络文件系统)上

gcloud beta filestore instances create "${NFS_server_name}" \
  --project "${project_id}" \
  --location "${zone}" \
  --tier=STANDARD \
  --file-share=name="vol1",capacity=1TB \
  --network=name="default",reserved-ip-range="10.0.1.0/29"

这样我就可以在上面列出的目录中创建一些 kubernetes 持久卷。我发现没有办法自动化这个过程,NFS 没有公共 IP,甚至使用堡垒机也不起作用,因为谷歌云在逻辑上将运行 NFS 的 VM 与其他实例分开。

这是我使用巴斯蒂安机器的尝试:

# send remote command to provision NFS server
command_to_run='cd /data && mkdir -m 777 data && mkdir -m 777 outputs && mkdir -m 777 logs && mkdir -m 777 repos && mkdir -m 777 upload && cd repos && mkdir deployments/ && chmod 777 deployments/'
send_to_bastian=$(gcloud compute ssh ${NFS_server_name} \
    --zone ${zone} \
  --command "${command_to_run}")

echo "sending provisioning instructions to bastian machine: ${bastian_name}"
gcloud compute ssh ${bastian_name} \
    --zone ${zone} \
    --command "${send_to_bastian}"

如何在 bastian 机器上编写创建这些目录的脚本?根据我有限的 kubernetes 经验,如果 NFS 服务器上不存在该目录,我似乎无法创建持久卷声明。

仅供参考,我正在尝试自动化此博客文章: https://danielfrg.com/blog/2018/10/model-management-polyaxon-argo-seldon/#installing-polyaxon

在那篇文章中,OP 远程进入 NFS 并手动创建目录,一定有某种方法可以自动执行此操作吗?

【问题讨论】:

    标签: kubernetes google-kubernetes-engine nfs google-cloud-filestore


    【解决方案1】:

    Filestore 实例由 Google 管理,它处理安装和配置软件的麻烦,让用户专注于他们的项目。这就是您无法通过 SSH 访问它的原因。

    要在 NFS 服务器中配置文件夹而无需手动干预,您可以使用 nfs-client-provisioner。这是一个 Helm 图表,旨在帮助提供 NFS 文件夹而无需用户干预。


    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 2019-08-02
      • 1970-01-01
      • 2020-09-08
      • 2021-04-07
      • 2016-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多