最近,我们开始使用Kubernetes作为推进新项目的途径。我们开始实施其中的一些,现在我们正在努力解决一个问题。如何访问网络文件共享?
我们的Kubernetes集群是安装在Windows机器上的基于linux的集群。托管在该集群中的服务需要能够访问该机器上可访问的文件共享(即\myFileShare\my文件夹)。
我们找不到解决这个问题的办法。我们尝试使用"https://www.nuget.org/packages/SharpCifs.Std/“库来访问SMB上的文件,但是事实证明,这个库不支持SMB2.0。
我们也在考虑将这个驱动器安装为持久性卷,但是如果我正确理解,持久卷应该由Kubernetes来管理它的生命周期,所以我不认为它是为这类东西设计的。
我们试图在互联网上找到解决方案,但我们什么也没找到,但我敢肯定,我们并不是第一个需要访问Kuberenetes集群中的网络文件共享的人。以前有没有人和这个问题做过斗争,能给我们提供一些解决办法吗?
发布于 2018-10-10 09:52:43
看看cifs-容量驱动器或这个Kubernetes CIFS卷驱动器。它应该适用于您的情况,它适用于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凭据是使用一个秘密传递的,可以按以下方式声明:
apiVersion: v1
data:
password: ###
username: ###
kind: Secret
metadata:
name: my-secret
type: juliohm/cifs注意:请注意机密类型字段,它必须与卷驱动程序名称匹配。否则,秘密值将不会传递给挂载脚本。
另外,请看一看这个问题在Stack上。,它的作者也有同样的问题,并说明了如何解决它。
https://stackoverflow.com/questions/52717827
复制相似问题