【问题标题】:Kubernetes access Network FileshareKubernetes 访问网络文件共享
【发布时间】:2018-10-10 17:52:43
【问题描述】:

最近,我们开始使用 Kubernetes 作为推进新项目的途径。我们开始实施其中的一些,现在我们正在努力解决一个问题。如何访问网络文件共享?

我们的 Kubernetes 集群是安装在 Windows 机器上的基于 linux 的集群。该集群中托管的服务需要能够访问该机器上可访问的文件共享(即 \\myFileShare\myfolder )。

我们找不到解决这个问题的方法。我们曾尝试使用“https://www.nuget.org/packages/SharpCifs.Std/”库通过 SMB 访问文件,但事实证明,该库不支持 SMB 2.0。

我们也在考虑将此驱动器安装为持久卷,但如果我理解正确的话,持久卷的生命周期应该由 Kubernetes 管理,所以我认为它不是为这类东西设计的。

我们试图在互联网上找到解决方案,但没有找到任何东西,但我很确定我们不是第一个需要从 Kuberenetes 集群访问网络文件共享的人。有没有人曾经为这个问题苦苦挣扎过,并且可以为我们提供一些解决方案?

【问题讨论】:

    标签: kubernetes .net-core


    【解决方案1】:

    看看cifs-volumedriver 或这个Kubernetes CIFS Volume Driver。 它应该适用于您的情况,并且适用于 SMB2.1 以下是使用卷驱动的 PersistentVolume 示例。

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: mycifspv
    spec:
      capacity:
        storage: 1Gi
      flexVolume:
        driver: juliohm/cifs
        options:
          opts: sec=ntlm,uid=1000
          server: my-cifs-host
          share: /MySharedDirectory
        secretRef:
          name: my-secret
      accessModes:
        - ReadWriteMany
    

    凭证使用 Secret 传递,可以声明如下:

    apiVersion: v1
    data:
      password: ###
      username: ###
    kind: Secret
    metadata:
      name: my-secret
    type: juliohm/cifs
    

    注意:请注意密钥的类型字段,该字段必须与 卷驱动程序名称。否则,秘密值将不会传递给 挂载脚本。

    另外,请看this question on Stack.它的作者也有同样的问题,并说明了如何解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多