Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Kubernetes - cannot have Windows path mounted on Azure File Share (Linux mounting works properly )

Firstly I succesfully mounted, my Linux path on Pod. I used azure file share and mounted folders appear on File Share.

    volumeMounts:
      - name: ads-filesharevolume
        mountPath: /opt/front/arena/host
  volumes:
  - name: ads-filesharevolume
    azureFile:
      secretName: fa-fileshare-secret
      shareName: faselectaksshare
      readOnly: false

Now on File Share I added one subfolder "windows" for mounting, in logs it mentions it is being mounted properly but I do not have anything mounted (folders and files do not appear on mounted share like it is the case for Linux)

   args: [ "-license_file", "C:/Host/dat/license.dat",
           "-key_file", "C:/Host/dat/license.key"]
    volumeMounts:
      - name: ads-win-filesharevolume
        mountPath: "C:\\host"
  volumes:
  - name: ads-win-filesharevolume
    azureFile:
      secretName: fa-fileshare-secret
      shareName: faselectaksshare\windows
      readOnly: false

For mountPath I tried with: C:\\host and C:/host and /c/host Also for shareName I initially tried with faselectaksshare/windows but it threw an exception.

In Pod describe I can see that everything seems OK, but my expected folders from C:/host do not appear in my Azure File Share path in windows subfolder. I receive similar output for all other cases as well.

 Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-nx49r (ro)
      C:/host from ads-win-filesharevolume (rw)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  ads-win-filesharevolume:
    Type:        AzureFile (an Azure File Service mount on the host and bind mount to the pod)
    SecretName:  fa-fileshare-secret
    ShareName:   faselectaksshare\windows
    ReadOnly:    false

Please help! Thanks

UPDATE: I also tried this approach with subPath and again I do not get any folders mounted. Also I do not get any error in log or in describe pod command

volumeMounts:
  - name: ads-filesharevolume
    mountPath: /host
    subPath: windows
  volumes:
  - name: ads-filesharevolume
    azureFile:
      secretName: fa-fileshare-secret
      shareName: faselectaksshare
      readOnly: false
like image 582
AndreyS Avatar asked Oct 18 '25 02:10

AndreyS


2 Answers

Both Windows and Linux containers run at the same time:

enter image description here

Mount for Linux:

    volumeMounts:
    - name: azure
      mountPath: /mnt/azure
volumes:
  - name: azure
    azureFile:
        shareName: aksshare/linux
        secretName: azure-secret

enter image description here

Mount for Windows:

    volumeMounts:
    - name: azure
        mountPath: "C:\\fileshare"
volumes:
- name: azure
  azureFile:
  shareName: aksshare\windows
  secretName: azure-secret

enter image description here

And the files that exist in each subfolder of the file share do not affect other ones.

like image 145
Charles Xu Avatar answered Oct 19 '25 17:10

Charles Xu


According to the following thread, wsl2 doesn't yet support hostPath volumes.

Thread Source: https://github.com/docker/for-win/issues/5325 Look at this comment: https://github.com/docker/for-win/issues/5325#issuecomment-570683131

Try changing this line

 # For "C://host"
 mountPath: /run/desktop/mnt/host/c/host
like image 30
HareSRV Avatar answered Oct 19 '25 16:10

HareSRV



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!