有没有办法在将 Azure 文件共享装载到 ACI 容器实例时指定 mfsymlinks 选项?
如 learn.microsoft.com 所示,在 Linux 中装载符号链接时,使用此 mfsymlinks 选项启用 Minshall+French 符号链接时,可以在 Azure 文件中支持符号链接。
我想使用装载到 Azure 容器实例的 Azure 文件共享,但我需要能够在装载的文件系统中使用符号链接,但我找不到指定的方法。有谁知道一种方法可以做到这一点?
作为适合我的用例的解决方法,在容器的本地 FS 上创建文件结构(包括符号链接)后,我将文件添加到 Azure 文件共享: tar -cpzf /mnt/letsencrypt/etc.tar.gz -C / etc/letsencrypt/
然后,当容器再次运行时,它会从压缩包中提取,保留符号链接: tar -xzf /mnt/letsencrypt/etc.tar.gz -C /
我将暂时将其保留为开放状态,以查看ACI是否本机支持该选项。
不幸的是,据我所知,当您通过 CLI 命令创建容器并装载 Azure 文件共享时,az container create
参数如下
--azure-file-volume-account-key
--azure-file-volume-account-name
--azure-file-volume-mount-path
--azure-file-volume-share-name
您无法根据需要设置符号链接,也没有参数供您设置。
此外,如果查看 Azure 容器实例的模板,则可以发现没有属性显示有关符号链接的设置。在我看来,这意味着您无法根据需要设置 Azure 容器实例的符号链接。希望这对您有所帮助。
从 Azure 文档更新 (azure-files-volume#mount-options):
apiVersion: v1
kind: PersistentVolume
metadata:
name: azurefile
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
azureFile:
secretName: azure-secret
shareName: aksshare
readOnly: false
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=1000
- gid=1000
- mfsymlinks
- nobrl