在现有存储帐户下动态创建多个文件共享

Create multiple file share dynamically under existing storage account

我正在学习 kubernetes(AKS),

我在玩azure。我有一个场景,我需要在 azure 存储帐户中创建多个文件共享,我可以使用一组命令创建,但问题是我需要根据要求动态创建这些文件共享。

示例:我有两个应用程序都需要 azure 存储帐户,我可以在同一个存储帐户下创建两个文件共享,而不是创建两个不同的存储帐户。在这里,我想在应用程序开始部署时动态创建文件共享。因为我可能需要第二次申请,或者我可以开始第三次申请。因此,我不想在根据要求创建文件共享之前创建多个文件共享。

谷歌搜索后我找到了 this 文章,但这里也必须已经在存储帐户中创建共享名称。

我的问题是,它可以实现吗?如果是?

更新

storageClassPersistentVolumeClaim

的 YML
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: mystorageclass
provisioner: kubernetes.io/azure-file
mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=1000
  - gid=1000
parameters:
  skuName: Standard_LRS
  storageAccount: mystrg
  location: eastus

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: mystorageclass
  resources:
    requests:
      storage: 5Gi

storageClass 创建成功,但 PersistentVolumeClaim 状态未决,错误资源 storageAccount 未找到。它试图在由 kubernetes 创建的资源组下找到 storageAccount?

简短的回答是肯定的。当您使用从 Azure 文件共享创建的动态 AKS 中的持久卷时,您可以之前创建存储帐户,然后您可以在存储 class 中使用该存储帐户,如下所示:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: azurefile
provisioner: kubernetes.io/azure-file
mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=1000
  - gid=1000
parameters:
  skuName: Standard_LRS
  storageAccount: azureaksstore
  location: eastus

当你使用这个 SC 创建 PVC 时,Azure 会为你在这个存储帐户中创建文件共享。它在存储帐户中显示如下:

有关详细信息,请参阅 Dynamically create and use a persistent volume with Azure Files in Azure Kubernetes Service (AKS)