2015-12-06 4 views
3

У меня есть установка Kubernetes, установленная на моей машине Ubuntu. Я пытаюсь установить том nfs и установить его в контейнер в соответствии с этим документом http://kubernetes.io/v1.1/examples/nfs/.Ошибка монтирования тома NFS тома Kubernetes с состоянием выхода 32

службы NFS и стручок конфигурации

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 

конфигурации стручок для монтируемого громкости

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 описать Nfs-сеть я получаю следующий вывод, упоминая его не удалось установить громкость 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 

ответ

0

Похоже, что volume.nfs.server = 192.168.3.201 неправильно настроен на вашем клиенте. Он должен быть установлен в адрес ClusterIP службы nfs-server.

0

Я тоже столкнулся с этой проблемой монтирования/синхронизации в версии 1.1.2 с независимой службой NFS, работающей вне K8s.

Хотя я не смог выяснить, есть ли ошибка в K8s или если мой NFS-сервер действует, я думаю, что это первый, поскольку я не делаю ничего особенного с моей NFS, что обычно в конечном итоге происходит то, что Pod в конечном итоге автоматически перезагружается, и все «просто работает», или я должен kubectl delete/create его вручную.

Я знаю, что это не является оптимальным и не детерминированным для самой проблемы с корнем, а его текущим решением для групповой помощи.

4

У меня была такая же проблема, и я решил ее, установив nfs-common в каждом узле Kubernetes.

apt-get install -y nfs-common 

Мои узлы были установлены без использования nfs-common. Кубернетес попросит каждый узел подключить NFS к определенному каталогу, доступному для модуля. Поскольку mount.nfs не найден, процесс монтажа не удался.

Удачи вам!

1

Имея этот вопрос прямо сейчас ... Использование coreos-alpha (1010.1.0)

Использование Kubernetes v1.2.2_coreos.0 изображения из quay.io

RHEL для NFS сервера внешнего по отношению к кластеру. Все работает нормально. Только проблема заключается в установке nfs.

П.В., создание ПВХ кажется, нормально ...

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. 
+1

'NFS-common' отсутствует в' hyperkube' изображения, так @kikoV определил причину. См. Эту проблему github для получения более подробной информации и работы: https://github.com/coreos/coreos-kubernetes/issues/372 – morloch

Смежные вопросы