首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GKE集群上的网络文件共享访问- Windows节点池

GKE集群上的网络文件共享访问- Windows节点池
EN

Stack Overflow用户
提问于 2020-05-28 08:42:55
回答 2查看 460关注 0票数 0

我们正在GKE集群(Windows节点池)上包含dotnet应用程序。我们有一个需求,多个荚可以访问相同的共享空间(持久卷)。它还应该支持"ReadWriteMany“AccessMode。我们探讨了以下备选方案:

  1. 持久化卷访问的持久磁盘(它不支持ReadWriteMany。只有一个吊舱可以访问磁盘)。
  2. 网络文件共享(NFS)。目前不支持windows节点池。
  3. Filestore适用于解决方案,但价格昂贵,并由谷歌管理。

我们正在寻找其他的选择,以满足我们的要求。请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2020-05-28 13:50:44

你说得对,至少对于内置的客户端v4来说,NFS还不受Windows的支持。因此,只要不支持NFS v4,Kubernetes团队就无法在k8s中启动这项工作。来源

有了这个约束,我看到的唯一解决方案仍然是菲尔斯特。

票数 0
EN

Stack Overflow用户

发布于 2020-05-30 08:38:02

我一直试图解决同样的问题-从两个Windows访问共享文件系统( IIS +控制台应用程序上的ASP.NET应用程序)。我无法使用Filestore,因为它需要一个NFSClient (Install-WindowsFeature NFS-Client),而且我无法将它安装到容器中(在容器构建或运行时),因为它需要重新启动计算机--也许我在这里遗漏了一些东西。

我发现的选择是:

  1. 如果您需要创建一个可以在单个VM上运行的简单临时演示应用程序,您可以在单个实例上运行两个吊舱,创建一个持久磁盘,使用gcloud compute instances attach-disk、RDP将其附加到实例中,挂载磁盘并将磁盘作为一个hostPath提供给这些荚。这就是我现在用的解决办法。
  2. 创建一个SMB共享(在单独的VM上或使用Docker容器https://hub.docker.com/r/dperson/samba/ ),并使用New-SmbMapping -LocalPath $shareletter -RemotePath $dhcpshare -Username $shareuser -Password $sharepasswd -Persistent $true从豆荚中访问它。此解决方案适用于我的控制台应用程序,但web应用程序无法访问这些文件(即使我已将IIS上的应用程序池设置为本地系统运行)。SMB也可以使用New-SmbGlobalMapping从实例中挂载--柔性卷可以实现这个https://github.com/microsoft/K8s-Storage-Plugins/tree/master/flexvolume/windows。我还没有探讨过这个选项,我认为它也会出现同样的问题(IIS没有看到文件)。
  3. 我认为最好(最安全和最可靠)的解决方案是在单独的VM上设置Active域控制器和SMB共享,并使用gMSA:https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/manage-serviceaccounts https://kubernetes.io/docs/tasks/configure-pod-container/configure-gmsa/提供对容器的访问,这似乎并不容易。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62060475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档