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

rob*_*ich 4 azure kubernetes azure-storage-files

作为直接挂载持久卷声明,Azure 文档展示了如何将 Azure 文件存储帐户挂载到 Kubernetes pod。这会将整个存储安装为安装路径。如何将 Azure 文件存储中的文件夹装载到 Kubernetes?

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

AzureFiles
|- folder1
   |- file1
|- folder2
   |- file2
Run Code Online (Sandbox Code Playgroud)

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

/mnt
|- azure
   |- folder1
      |- file1
   |- folder2
      |- file2
Run Code Online (Sandbox Code Playgroud)

相反,我希望在挂载 Azure 文件的路径时看到这一点folder1

/mnt
|- azure
   |- file1
Run Code Online (Sandbox Code Playgroud)

如何更改我的Pod 定义以指定此路径:

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
Run Code Online (Sandbox Code Playgroud)

Cha*_* Xu 7

编辑

搜索了几天,我弄清楚如何将 Azure 文件共享的子文件夹挂载到 AKS pod。您可以像这样设置 yaml 文件:

volumes:
  - name: azure
    azureFile:
      secretName: azure-secret
      shareName: share/subfolder
      readOnly: false
Run Code Online (Sandbox Code Playgroud)

只需设置与目录的共享名,小心,不要追加/到最后。结果截图如下:

在此处输入图片说明

有关更多详细信息,请参阅命名和引用共享、目录、文件和元数据