Kubernetes NFS 挂载选项

问题描述 投票:0回答:4

我最近开始在本地集群中使用 NFS 卷。这对我来说是最简单和最好的解决方案,但在实际的安装选项方面似乎相当有限。

是否可以在volume.yml文件中的节点/集群上设置挂载选项?

  • NFSv3
  • NFSv4/4.1
  • 查找缓存
  • 没有时间
  • r 大小,w 大小

我的应用程序需要特定版本以及这些性能安装选项。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs
spec:
  capacity:
    storage: 1Mi
  accessModes:
    - ReadWriteMany
  nfs:
    # FIXME: use the right IP
    server: 10.244.1.4
    path: "/"

有没有办法在这里添加安装标志?

performance kubernetes nfs persistent-volumes
4个回答
15
投票

如果有人在 2021 年寻找答案,这对我有用。

  mountOptions:
    - hard
    - timeo=600
    - retrans=3
    - proto=tcp
    - nfsvers=4.2
    - port=2050
    - rsize=4096
    - wsize=4096
    - noacl
    - nocto
    - noatime
    - nodiratime

12
投票

是可能的,并且从 1.8 起它就在 Kubernetes 中实现了 GA。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0003
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: slow
  mountOptions:
    - hard
    - nfsvers=4.1
  nfs:
    path: /tmp
    server: 172.17.0.2

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options

https://github.com/kubernetes/enhancements/issues/168#issuecomment-317748159


0
投票

我回答这个问题晚了。但是,我认为这可能会对那些想要提及

mountOptions
他们的 PV 清单的人有所帮助。从关于 PV 的 Kubernetes 文档,我引用:

安装选项未经验证。如果挂载选项无效,则挂载失败。 以前的注释

volume.beta.kubernetes.io/mount-options
使用而不是
mountOptions
属性。这个注释是 还在工作;但是,它将在未来完全弃用 Kubernetes 发布。

我认为最好避免指定

mountOptions
并让客户端(pod)和 NFS 服务器决定挂载时最好的选择。其次,由于它将被完全弃用,所以不要使用它。我一直在使用没有任何这些参数的 NFS 卷,并且运行良好。


0
投票

其实不然。 Kubernetes 尚不支持。

如果您确实需要非常具体的 NFS 选项,目前我建议使用

hostPath

通过这种方式,您可以将 NFS 卷挂载到主机上的特定挂载点上,并让 Kubernetes Pod 使用该卷。

更新(2024):

请参阅其他答案。现在已经支持了。

© www.soinside.com 2019 - 2024. All rights reserved.