首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从pods访问CIFS文件

从pods访问CIFS文件
EN

Stack Overflow用户
提问于 2021-05-21 15:33:27
回答 2查看 698关注 0票数 1

我们有一个docker镜像,它正在处理samba共享上的一些文件。

为此,我们创建了一个cifs共享,该共享挂载到/mnt/dfs,可以使用以下命令访问容器中的文件:

代码语言:javascript
复制
docker run -v /mnt/dfs/project1:/workspace image

现在我要做的是将容器放到k8s中,并从pod访问cifs共享,可以使用cifs卷驱动程序usiong FlexVolume。这就是出现一些问题的地方。

我安装了这个存储库作为一个守护进程

https://k8scifsvol.juliohm.com.br/

它已经启动并运行了。

代码语言:javascript
复制
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: cifs-volumedriver-installer
spec:
  selector:
    matchLabels:
      app: cifs-volumedriver-installer
  template:
    metadata:
      name: cifs-volumedriver-installer
      labels:
        app: cifs-volumedriver-installer
    spec:
      containers:
        - image: juliohm/kubernetes-cifs-volumedriver-installer:2.4
          name: flex-deploy
          imagePullPolicy: Always
          securityContext:
            privileged: true
          volumeMounts:
            - mountPath: /flexmnt
              name: flexvolume-mount
      volumes:
        - name: flexvolume-mount
          hostPath:
            path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/

接下来要做的是添加一个PeristentVolume,但这需要一个容量,在本例中为1Gi。这是否意味着我们将丢失smb服务器上的所有数据?为什么要为已经存在的服务器提供容量?

另外,如何从pod中访问mount /mnt/dfs的子目录?那么如何从pod中的/mnt/dfs/project1访问数据呢?

我们甚至需要PV吗?pod能否仅从主机的挂载共享中读取?

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-21 20:30:16

设法让它与fstab/cifs插件一起工作。

将其cifs脚本复制到/usr/libexec/kubernetes/kubelet-plugins/volume/exec,并授予其执行权限。还要在所有节点上重新启动kubelet。

https://github.com/fstab/cifs

然后添加了

代码语言:javascript
复制
 containers:
 - name: pablo
   image: "10.203.32.80:5000/pablo"
   volumeMounts:
   - name: dfs
     mountPath: /data
 volumes:
 - name: dfs
   flexVolume:
    driver: "fstab/cifs"
    fsType: "cifs"
    secretRef:
      name: "cifs-secret"
    options:
      networkPath: "//dfs/dir"
      mountOptions: "dir_mode=0755,file_mode=0644,noperm"

现在在容器中有了指向//dfs/dir的/data挂载

票数 2
EN

Stack Overflow用户

发布于 2021-05-21 15:50:41

不,该字段对您链接的FlexVol插件没有影响。它甚至不会解析出您传入的大小:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67632578

复制
相关文章

相似问题

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