将 Azure 文件的文件夹装载到 Kubernetes 中?
Mount Azure Files' folder into Kubernetes?
作为 direct mount or persistent volume claim,Azure 文档展示了如何将 Azure 文件存储帐户装载到 Kubernetes pod。这会将整个存储安装为安装路径。我该如何将 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
我相信你可以使用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
编辑
找了几天,终于弄明白怎么把Azure File Share的子文件夹挂载到AKS pod上了。您可以像这样设置 yaml 文件:
volumes:
- name: azure
azureFile:
secretName: azure-secret
shareName: share/subfolder
readOnly: false
设置目录共享名即可,注意不要在最后追加/
。结果截图在这里:
有关详细信息,请参阅 Naming and Referencing Shares, Directories, Files, and Metadata。
作为 direct mount or persistent volume claim,Azure 文档展示了如何将 Azure 文件存储帐户装载到 Kubernetes pod。这会将整个存储安装为安装路径。我该如何将 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
我相信你可以使用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
编辑
找了几天,终于弄明白怎么把Azure File Share的子文件夹挂载到AKS pod上了。您可以像这样设置 yaml 文件:
volumes:
- name: azure
azureFile:
secretName: azure-secret
shareName: share/subfolder
readOnly: false
设置目录共享名即可,注意不要在最后追加/
。结果截图在这里:
有关详细信息,请参阅 Naming and Referencing Shares, Directories, Files, and Metadata。