Azure / AKS

Azure Kubernetes Service
1.92k stars 284 forks source link

Azure Storage account created manually vs the CSI Driver provisioned #4244

Closed anwarchk closed 3 weeks ago

anwarchk commented 3 weeks ago

Describe scenario

We are deploying Harbor container registry on AKS for our self hosted registry feature.

In order to improve our disaster recovery scenario, we are using a pre created storage account with a container that has HNS enabled and blockblob storage premium. Everything works, except Harbor errors out when it tries to delete a folder and gets a 409 saying the operation not permitted on non-empty directory.

We then tried the exact same thing with the Azure provided NFS premium storage class (we are using Retain) and PVC to provision a storage account and the container. In this case everything works, no errors.

The goal of using a pre-created storage account is to improve our DR scenarios.

Question

We are wondering what is the CSI driver for NFS storage doing differently that we are missing ? We did a 1:1 comparison of pre-created storage account and container to compare to that of the one created by the CSI driver, and everything looks the same to us.

andyzhangx commented 3 weeks ago

@anwarchk have you set --use-adls=true in the persistent volume or storage class?

To enable blobfuse access to an ADLS account in static provisioning, specify the mount option --use-adls=true in the persistent volume.

anwarchk commented 3 weeks ago

@anwarchk have you set --use-adls=true in the persistent volume or storage class?

To enable blobfuse access to an ADLS account in static provisioning, specify the mount option --use-adls=true in the persistent volume.

That didn't help, but thanks for the pointer @andyzhangx

anwarchk commented 3 weeks ago

I did find a similar issue being reported here https://github.com/distribution/distribution/issues/4153 My question was more about what AKS CSI drivers do behind the scene so that we can replicate the same. I will close this issue.