无法在hostPath mount

时间:2018-05-14 15:41:52

标签: docker kubernetes

我有这个非常简单的容器图像:

FROM nvidia/cuda:8.0-runtime-centos7
VOLUME ["/myvolume"]

# hack to keep the container alive and listening...
CMD exec /bin/bash -c "trap : TERM INT; sleep infinity & wait"

我想通过Kubernetes将它部署到minikube 0.25.2(在Windows 10上)。 我希望将/myvolume挂载到hostPath c:\TestDir\(语法为/c/TestDir/)。 与完全控制的任何人共享TestDir

我使用"持续音量声明"达到目的。这是我使用的.yaml:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    run: hello-mount
  name: hello-mount
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      run: hello-mount
  template:
    metadata:
      labels:
        run: hello-mount
    spec:
      containers:
      - image: docker.io/myid/host_mount_img
        name: hello-mount
        volumeMounts:
        - name: myvolumelbl
          mountPath: /myvolume
      volumes:
      - name: myvolumelbl
        persistentVolumeClaim:
          claimName: data-pvc
---
kind: PersistentVolume
apiVersion: v1
metadata:
  name: data-pv
spec:
  accessModes:
    - ReadWriteMany
  capacity:
    storage: 2Mi
  hostPath:
    path: /c/TestDir/
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: data-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Mi
  volumeName: data-pv

根据kubernetes仪表板,/ myvolume正确安装到/ c / TestDir 但是当我进入pod时,目录/ myvolume是空的 - 即我看不到/ c / TestDir的内容

欢迎任何帮助......

1 个答案:

答案 0 :(得分:0)

看起来像issue with minikube on Hyper-V。它没有解决它。所以我的建议是:尝试使用VirtualBox vm-driver。

在VirtualBox中创建一个共享文件夹,并将其用作持久卷。