Kubernetes NFS卷安装失败,退出状态为32

时间:2015-12-06 03:08:45

标签: docker kubernetes

我的Ubuntu机器上安装了Kubernetes设置。我正在尝试设置nfs卷并根据此http://kubernetes.io/v1.1/examples/nfs/文档将其挂载到容器中。

nfs服务和pod配置

kind: Service
apiVersion: v1
metadata:
  name: nfs-server
spec:
  ports:
    - port: 2049
  selector:
    role: nfs-server
---
apiVersion: v1
kind: Pod
metadata:
  name: nfs-server
  labels:
    role: nfs-server
spec:
  containers:
    - name: nfs-server
      image: jsafrane/nfs-data
      ports:
        - name: nfs
          containerPort: 2049
      securityContext:
        privileged: true

用于挂载nfs卷的pod配置

apiVersion: v1
kind: Pod
metadata:
  name: nfs-web
spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
      volumeMounts:
          # name must match the volume name below
          - name: nfs
            mountPath: "/usr/share/nginx/html"
  volumes:
    - name: nfs
      nfs:
        # FIXME: use the right hostname
        server: 192.168.3.201
        path: "/"

当我运行kubectl describe nfs-web时,我得到以下输出,提到它无法挂载nfs卷。可能是什么原因?

Name:               nfs-web
Namespace:          default
Image(s):           nginx
Node:               192.168.1.114/192.168.1.114
Start Time:         Sun, 06 Dec 2015 08:31:06 +0530
Labels:             <none>
Status:             Pending
Reason:             
Message:            
IP:             
Replication Controllers:    <none>
Containers:
  web:
    Container ID:   
    Image:      nginx
    Image ID:       
    State:      Waiting
      Reason:       ContainerCreating
    Ready:      False
    Restart Count:  0
    Environment Variables:
Conditions:
  Type      Status
  Ready     False 
Volumes:
  nfs:
    Type:   NFS (an NFS mount that lasts the lifetime of a pod)
    Server: 192.168.3.201
    Path:   /
    ReadOnly:   false
  default-token-nh698:
    Type:   Secret (a secret that should populate this volume)
    SecretName: default-token-nh698
Events:
  FirstSeen LastSeen    Count   From            SubobjectPath   Reason      Message
  ───────── ────────    ─────   ────            ─────────────   ──────      ───────
  36s       36s     1   {scheduler }                Scheduled   Successfully assigned nfs-web to 192.168.1.114
  36s       2s      5   {kubelet 192.168.1.114}         FailedMount Unable to mount volumes for pod "nfs-web_default": exit status 32
  36s       2s      5   {kubelet 192.168.1.114}         FailedSync  Error syncing pod, skipping: exit status 32

8 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,我通过在每个Kubernetes节点中安装nfs-common来解决它。

apt-get install -y nfs-common

我的节点安装时没有nfs-common。 Kubernetes将要求每个节点将NFS挂载到可用于pod的特定目录中。由于未找到 mount.nfs ,安装过程失败。

祝你好运!

答案 1 :(得分:1)

在您的客户端上看起来像volumes.nfs.server = 192.168.3.201配置不正确。它应该设置为nfs-server服务的ClusterIP地址。

答案 2 :(得分:1)

立即解决此问题...使用coreos-alpha (1010.1.0)

使用quay.io

中的Kubernetes v1.2.2_coreos.0图片

群集外部的NFS服务器的RHEL。一切正常。唯一的问题是pod挂载nfs共享。

PV,PVC创作似乎没问题......

  16m           5s              77      {kubelet 10.163.224.136}                        Warning         FailedMount     Unable to mount volumes for pod "es-data-xvzxl_default(65b2c286-078e-11e6-99f9-005056a71442)": Mount failed: exit status 32
Mounting arguments: 10.163.224.128:/data/kubefs /var/lib/kubelet/pods/65b2c286-078e-11e6-99f9-005056a71442/volumes/kubernetes.io~nfs/pv0001 nfs []
Output: mount: wrong fs type, bad option, bad superblock on 10.163.224.128:/data/kubefs,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount.<type> helper program)

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

答案 3 :(得分:1)

NFS出现了同样的问题,即仅允许root挂载。 固定:

a。允许非root用户安装NFS(在服务器上)。

b。在PersistentVolume中添加

  mountOptions:
    - nfsvers=4.1

答案 4 :(得分:0)

我也遇到了v1.1.2上的这个mount / syncing问题,并且在K8s之外运行了一个独立的NFS服务。

虽然我无法弄清楚它是否是K8中的一个错误,或者我的NFS服务器是否正在运行,但我认为它是前者,因为我没有对我的NFS做任何特别的事情,通常会结束发生的事情是,Pod最终会自动重启并且事情“正常”或我必须手动kubectl delete/create

我知道这不是最优的,也不是根本问题的确定性,而是我目前的创可贴解决方案。

答案 5 :(得分:0)

我有同样的问题。

由在工作程序节点上安装nfs-utils修复。

答案 6 :(得分:0)

就我而言,问题是我没有在 /etc/exports 文件中声明 nfs 的主机服务器。在那里为我的主机服务器添加一个条目后,该卷工作正常。

如果你以任何方式修改文件,那么你也需要重新启动服务;

sudo systemctl restart nfs-kernel-server

/etc/exports 文件中的条目示例;

/var/nfs/home   192.111.222.333(rw,sync,no_subtree_check)

答案 7 :(得分:0)

就我而言,问题在于卷 hostPath 中定义的文件夹不是在本地创建的。在工作节点服务器中创建文件夹后,问题得到解决。

newInstance