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

时间:2019-07-12 09:14:43

标签: azure-storage azure-aks fileshare azure-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吗?

1 个答案:

答案 0 :(得分:1)

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

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将为您在此存储帐户中创建文件共享。它在存储帐户中显示如下:

enter image description here

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