You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
location | Azure location | `eastus`, `westus`, etc. | No | if empty, driver will use the same location name as current k8s cluster
13
13
resourceGroup | Azure resource group name | existing resource group name | No | if empty, driver will use the same resource group name as current k8s cluster
14
14
storageAccount | specify Azure storage account name| STORAGE_ACCOUNT_NAME | - No for blobfuse mount </br> - Yes for NFSv3 mount | - For blobfuse mount: if empty, driver will find a suitable storage account that matches `skuName` in the same resource group; if a storage account name is provided, storage account must exist. </br> - For NFSv3 mount, storage account name must be provided
15
-
storeAccountKey | whether store account key to k8s secret | `true`,`false` | No | `true`
16
15
protocol | specify blobfuse mount or NFSv3 mount | `fuse`, `nfs` | No | `fuse`
17
16
containerName | specify the existing container name | existing container name | No | if empty, driver will create a new container name, starting with `pvc-fuse` for blobfuse or `pvc-nfs` for NFSv3
18
-
isHnsEnabled | enable `Hierarchical namespace` for Azure DataLake storage account(only for blobfuse) | `true`,`false` | No | `false`
19
17
server | specify Azure storage account server address | existing server address, e.g. `accountname.privatelink.blob.core.windows.net` | No | if empty, driver will use default `accountname.blob.core.windows.net` or other sovereign cloud account address
20
18
allowBlobPublicAccess | Allow or disallow public access to all blobs or containers for storage account created by driver | `true`,`false` | No | `false`
21
19
storageEndpointSuffix | specify Azure storage endpoint suffix | `core.windows.net` | No | if empty, driver will use default storage endpoint suffix according to cloud environment, e.g. `core.windows.net`
22
20
tags | [tags](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources) would be created in newly created storage account | tag format: 'foo=aaa,bar=bbb' | No | ""
21
+
--- | **Following parameters are only for blobfuse** | --- | --- |
22
+
storeAccountKey | whether store account key to k8s secret <br><br> Note: <br> `false` means driver would leverage kubelet identity to get account key | `true`,`false` | No | `true`
23
+
secretName | specify secret name to store account key | | No |
24
+
secretNamespace | specify the namespace of secret to store account key | `default`,`kube-system`, etc | No | `default`
25
+
isHnsEnabled | enable `Hierarchical namespace` for Azure DataLake storage account | `true`,`false` | No | `false`
23
26
24
27
-`fsGroup` securityContext setting
25
28
@@ -54,8 +57,11 @@ volumeAttributes.resourceGroup | Azure resource group name | existing resource g
54
57
volumeAttributes.storageAccount | existing storage account name | existing storage account name | Yes |
55
58
volumeAttributes.containerName | existing container name | existing container name | Yes |
56
59
volumeAttributes.protocol | specify blobfuse mount or NFSv3 mount | `fuse`, `nfs` | No | `fuse`
60
+
--- | **Following parameters are only for blobfuse** | --- | --- |
61
+
volumeAttributes.secretName | secret name that stores storage account name and key(only applies for SMB) | | No |
nodeStageSecretRef.name | secret name that stores(check below examples):<br>`azurestorageaccountkey`<br>`azurestorageaccountsastoken`<br>`msisecret`<br>`azurestoragespnclientsecret` | existing Kubernetes secret name | No |
58
-
nodeStageSecretRef.namespace | namespace where the secret is | k8s namespace | Yes |
--- | **Following parameters are only for feature: blobfuse [Managed Identity and Service Principal Name auth](https://github.com/Azure/azure-storage-fuse#environment-variables)** | --- | --- |
60
66
volumeAttributes.AzureStorageAuthType | Authentication Type | `Key`, `SAS`, `MSI`, `SPN` | No | `Key`
61
67
volumeAttributes.AzureStorageIdentityClientID | Identity Client ID | | No |
@@ -70,6 +76,9 @@ volumeAttributes.keyVaultURL | Azure Key Vault DNS name | existing Azure Key Vau
70
76
volumeAttributes.keyVaultSecretName | Azure Key Vault secret name | existing Azure Key Vault secret name | No |
71
77
volumeAttributes.keyVaultSecretVersion | Azure Key Vault secret version | existing version | No |if empty, driver will use "current version"
72
78
79
+
- Note
80
+
- only mounting blobfuse requires account key, and if secret is not provided in PV config, driver would try to get `azure-storage-account-{accountname}-secret` in the pod namespace, if not found, driver would try using kubelet identity to get account key directly using Azure API.
81
+
- mounting blob storage NFSv3 does not need account key, it requires storage account configured with same vnet with agent node.
73
82
74
83
- create a Kubernetes secret for `nodeStageSecretRef.name`
klog.V(2).Infof("could not get account(%s) key from secret(%s) namespace(%s), error: %v, use cluster identity to get account key instead", accountOptions.Name, secretName, secretNamespace, err)
0 commit comments