【问题标题】:Set mfsymlinks when mounting Azure File volume to ACI instance将 Azure 文件卷挂载到 ACI 实例时设置 mfsymlinks
【发布时间】:2018-12-20 21:13:22
【问题描述】:

在将 Azure 文件共享装载到 ACI 容器实例时,是否可以指定 mfsymlinks 选项?

如docs.microsoft.com 所示,当安装在 Linux 中时,Azure 文件中可以支持符号链接,并使用此 mfsymlinks 选项启用 Minshall+French 符号链接。

我想使用挂载到 Azure 容器实例的 Azure 文件共享,但我需要能够在挂载的文件系统中使用符号链接,但我找不到指定方法。有谁知道这样做的方法吗?

【问题讨论】:

    标签: azure-container-service


    【解决方案1】:

    不幸的是,据我所知,当您通过 CLI 命令az container create 使用诸如

    之类的参数创建容器并挂载 Azure 文件共享时
    --azure-file-volume-account-key
    --azure-file-volume-account-name
    --azure-file-volume-mount-path
    --azure-file-volume-share-name
    

    您不能随意设置符号链接,也没有参数供您设置。

    另外,如果你看一下Template for Azure Container Instance,你会发现没有属性显示关于符号链接的设置。在我看来,这意味着您无法根据需要设置 Azure 容器实例的符号链接。希望这会对你有所帮助。

    【讨论】:

    • 应该为 --azure-file-volume-mount-path 输入什么值?
    • @RezaRahmati 我认为容器内的所有路径都可用。不确定,但它描述了here。
    【解决方案2】:

    作为适合我用例的解决方法,一旦在容器的本地 FS 上创建了文件结构(包括符号链接),我将文件压缩到 Azure 文件共享:tar -cpzf /mnt/letsencrypt/etc.tar.gz -C / etc/letsencrypt/ 然后当容器再次运行时,它从压缩包中提取,保留符号链接:tar -xzf /mnt/letsencrypt/etc.tar.gz -C /

    我暂时将其保持打开状态,看看 ACI 是否会原生支持该选项。

    【讨论】:

    • 我为此提出了功能建议。在此处查看并添加 cmets/vote:feedback.azure.com/forums/602224-azure-container-instances/…
    • 很酷的解决方法,您认为set -e 是否足以确保在解压缩文件时出现错误时容器无法启动? edit2:您是否将其作为 certbot 部署挂钩的一部分运行?
    【解决方案3】:

    从 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
    

    【讨论】:

      猜你喜欢
      • 2021-10-12
      • 2020-12-28
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多