在现有存储帐户下动态创建多个文件共享
Create multiple file share dynamically under existing storage account
我正在学习 kubernetes(AKS),
我在玩azure
。我有一个场景,我需要在 azure 存储帐户中创建多个文件共享,我可以使用一组命令创建,但问题是我需要根据要求动态创建这些文件共享。
示例:我有两个应用程序都需要 azure 存储帐户,我可以在同一个存储帐户下创建两个文件共享,而不是创建两个不同的存储帐户。在这里,我想在应用程序开始部署时动态创建文件共享。因为我可能需要第二次申请,或者我可以开始第三次申请。因此,我不想在根据要求创建文件共享之前创建多个文件共享。
谷歌搜索后我找到了 this 文章,但这里也必须已经在存储帐户中创建共享名称。
我的问题是,它可以实现吗?如果是?
更新
storageClass
和 PersistentVolumeClaim
的 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)。
我正在学习 kubernetes(AKS),
我在玩azure
。我有一个场景,我需要在 azure 存储帐户中创建多个文件共享,我可以使用一组命令创建,但问题是我需要根据要求动态创建这些文件共享。
示例:我有两个应用程序都需要 azure 存储帐户,我可以在同一个存储帐户下创建两个文件共享,而不是创建两个不同的存储帐户。在这里,我想在应用程序开始部署时动态创建文件共享。因为我可能需要第二次申请,或者我可以开始第三次申请。因此,我不想在根据要求创建文件共享之前创建多个文件共享。
谷歌搜索后我找到了 this 文章,但这里也必须已经在存储帐户中创建共享名称。
我的问题是,它可以实现吗?如果是?
更新
storageClass
和 PersistentVolumeClaim
---
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)。