minikube中的AzureFileShare卷装入失败

问题描述

我在Windows 10 Enterprise上本地运行minikube / docker。我尝试按以下方式从azure fileShare挂载卷:

apiVersion: v1
  kind: Secret
Metadata:
  name: secret-fileshare
type: Opaque
stringData:
  azurestorageaccountname: <acount_name>
  azurestorageaccountkey: <access_key>
...
  spec:
      containers:
      volumeMounts:
        - name: mnt-volume
          mountPath: /mnt-path
      volumes:
      - name: mnt-volume
        azureFile:
          shareName: share-name
          secretName: secret-fileshare
          readOnly: false

我遇到以下错误

mount: /var/lib/kubelet/pods/9740442f-4bd2-4427-8074-fca5c2578563/volumes/kubernetes.io~azure-file/mnt-volume: bad option; 
 for several filesystems (e.g. nfs,cifs) you might need a /sbin/mount.<type> helper program.
 Warning  FailedMount  55s  kubelet,minikube  
 MountVolume.SetUp Failed for volume "backup-volume" : mount Failed: exit status 32

完全相同的Yaml规范可以与Azure Kubernetes Service一起使用...是否有办法使其与minikube一起使用?

解决方法

RUN apt install -y nfs-common
RUN apt install -y cifs-utils

将这两个添加到您的 Dockerfile 中,创建镜像,然后将该镜像推送到 dockerhub,然后在您的 k8s deployment.yml 中使用该镜像