【发布时间】:2017-05-24 15:44:38
【问题描述】:
为 GKE 集群的节点将镜像类型从 container-vm 迁移到 cos 后,似乎不再可能为 pod 挂载 NFS 卷。
问题似乎是缺少 NFS 客户端库,因为在我尝试过的所有 COS 版本(cos-stable-58-9334-62-0、cos-beta-59-9460-20- 0, cos-dev-60-9540-0-0)。
sudo mount -t nfs mynfsserver:/myshare /mnt
失败
mount: wrong fs type, bad option, bad superblock on mynfsserver:/myshare,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
但这与此处列出的支持的卷类型相矛盾: https://cloud.google.com/container-engine/docs/node-image-migration#storage_driver_support
在 pod 中挂载 NFS 卷适用于映像类型为 container-vm 但不适用于 cos 的池。
因为我收到了kubectl describe pod 的以下消息:
MountVolume.SetUp failed for volume "kubernetes.io/nfs/b6e6cf44-41e7-11e7-8b00-42010a840079-nfs-mandant1" (spec.Name: "nfs-mandant1") pod "b6e6cf44-41e7-11e7-8b00-42010a840079" (UID: "b6e6cf44-41e7-11e7-8b00-42010a840079") with: mount failed: exit status 1
Mounting command: /home/kubernetes/containerized_mounter/mounter
Mounting arguments: singlefs-1-vm:/data/mandant1 /var/lib/kubelet/pods/b6e6cf44-41e7-11e7-8b00-42010a840079/volumes/kubernetes.io~nfs/nfs-mandant1 nfs []
Output: Mount failed: Mount failed: exit status 32
Mounting command: chroot
Mounting arguments: [/home/kubernetes/containerized_mounter/rootfs mount -t nfs singlefs-1-vm:/data/mandant1 /var/lib/kubelet/pods/b6e6cf44-41e7-11e7-8b00-42010a840079/volumes/kubernetes.io~nfs/nfs-mandant1]
Output: mount.nfs: Failed to resolve server singlefs-1-vm: Temporary failure in name resolution
【问题讨论】:
-
“cos”上似乎存在 DNS 问题。如果我在定义持久卷时使用 NFS 服务器的 IP 地址,它也适用于 cos
-
我有同样的问题,使用直接 ip 定义卷但使用 DNS 名称不起作用(尝试主机名、内部 dns 名称以及公共 dns)。
标签: kubernetes nfs google-kubernetes-engine google-container-os