将在kubernete上运行的容器内的文件映射到Azure文件共享

时间:2019-06-08 13:30:25

标签: azure kubernetes

我想将两个文件从容器映射到Azure文件:

  1. /Logs/abc.xml(abc.xml需要挂载,日志也有多个文件和文件夹需要挂载)。
  2. /temp/folder/file.txt(需要挂载的file.txt也具有多个文件和文件夹)

需要将它们都装载到同一文件共享中。

我尝试使用子路径,但是它在azure文件中创建了文件夹,但是没有文件。我在kubernetes部署中也遇到错误。

  

错误:-已知:您是否正在尝试将目录挂载到文件上(或   反之亦然)?检查指定的主机路径是否存在并且是否为   预期的类型后退重启失败的容器

volumeMounts:
- name: serverxml
  mountPath: /test/Server.xml
  subPath: Server.xml

volumes:
- name: serverxml
  azureFile:
    secretName: azure-fileshare-secret
    shareName: customer1-uat-config
    readOnly: false

其中azure-fileshare-secret具有存储密钥。

预期结果:customer1-uat-config / test / server.log 和customer1-uat-config / folder / file.txt

1 个答案:

答案 0 :(得分:0)

对于您的问题,应该知道一点,您无法将文件装载到Azure文件共享。文件无法装载到存储中。但是您可以将文件夹安装到Azure文件共享的文件夹中。您可以将一个文件共享与多个文件夹一起使用,然后将容器中的文件夹安装到该文件共享中的文件夹中。

yaml文件中的设置如下:

    volumeMounts:
      - name: test
        mountPath: /test
      - name: folder
        mountPath: /folder
  volumes:
  - name: test
    azureFile:
      secretName: azurefile-secret
      shareName: aksshare/test
      readOnly: false
  - name: folder
    azureFile:
      secretName: azurefile-secret
      shareName: aksshare/folder

结果截图在这里:

enter image description here

enter image description here