将Azure Files的文件夹挂载到Kubernetes吗?

时间:2018-12-03 18:35:27

标签: azure kubernetes azure-storage-files

作为direct mountpersistent volume claim,Azure文档显示了如何将Azure文件存储帐户安装到Kubernetes窗格。这会将整个存储安装为已安装路径。我该如何将Azure文件存储中的文件夹安装到Kubernetes?

在Azure文件上,我具有以下内容:

AzureFiles
|- folder1
   |- file1
|- folder2
   |- file2

当我将Azure文件存储帐户安装到Kubernetes(到/mnt/azure)时,我看到了:

/mnt
|- azure
   |- folder1
      |- file1
   |- folder2
      |- file2

相反,当我挂载Azure文件的路径folder1时,我想看到这个:

/mnt
|- azure
   |- file1

如何更改Pod definition以指定此路径:

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - // ... snip ...
    volumeMounts:
      - name: azure
        mountPath: /mnt/azure
  volumes:
  - name: azure
    azureFile:
      secretName: azure-secret
      shareName: aksshare
      readOnly: false
      // TODO: how to specify path in aksshare

2 个答案:

答案 0 :(得分:1)

修改

搜索几天后,我了解了如何将Azure File Share的子文件夹安装到AKS窗格。您可以这样设置yaml文件:

volumes:
  - name: azure
    azureFile:
      secretName: azure-secret
      shareName: share/subfolder
      readOnly: false

只需在目录中设置共享名,请注意,不要在末尾附加/。结果的屏幕截图在这里:

enter image description here

有关更多详细信息,请参见Naming and Referencing Shares, Directories, Files, and Metadata

答案 1 :(得分:0)

我相信您可以使用subPath。像这样:

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - // ... snip ...
    volumeMounts:
      - name: azure
        mountPath: /mnt/azure
        subPath: folder1
  volumes:
  - name: azure
    azureFile:
      secretName: azure-secret
      shareName: aksshare
      readOnly: false
      // TODO: how to specify path in aksshare