Kubernetes 在AKS中为PVC提供正确的区域信息
我正在使用从GCP到Azure进行群集备份和恢复 k8s中的持久卷具有Kubernetes 在AKS中为PVC提供正确的区域信息,kubernetes,azure-aks,persistent-volume-claims,storage-class-specifier,Kubernetes,Azure Aks,Persistent Volume Claims,Storage Class Specifier,我正在使用从GCP到Azure进行群集备份和恢复 k8s中的持久卷具有NodeAffinity,其中的区域和区域选择器与Azure节点上的标签不匹配,因为两个GCP提供程序的区域/区域不同 e、 g.节点上的以下标签 GCP 在蔚蓝上 failure-domain.beta.kubernetes.io/region=australiaeast failure-domain.beta.kubernetes.io/zone=1 因此,我尝试在Azure中创建一个存储类,如下所示: kind: St
NodeAffinity
,其中的区域和区域选择器与Azure节点上的标签不匹配,因为两个GCP提供程序的区域/区域不同
e、 g.节点上的以下标签
GCP
在蔚蓝上
failure-domain.beta.kubernetes.io/region=australiaeast
failure-domain.beta.kubernetes.io/zone=1
因此,我尝试在Azure中创建一个存储类,如下所示:
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: fast-azure
provisioner: kubernetes.io/azure-disk
allowVolumeExpansion: true
parameters:
cachingmode: ReadOnly
kind: Managed
storageaccounttype: Premium_LRS
volumeBindingMode: WaitForFirstConsumer
allowedTopologies:
- matchLabelExpressions:
- key: failure-domain.beta.kubernetes.io/zone
values:
- "1"
- key: failure-domain.beta.kubernetes.io/region
values:
- australiaeast
但是,当我尝试使用此存储类创建PVC时,出现以下错误:
arning ProvisioningFailed 1s (x6 over 29s) persistentvolume-controller Failed to provision volume with StorageClass "fast-azure": compute.DisksClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="InvalidAvailabilityZone" Message="The zone(s) '' for resource 'Microsoft.Compute/disks/kubernetes-dynamic-pvc-105101ea-2c58-4a5a-8eeb-386c7489b782' is not supported. The supported zones for location 'australiaeast' are '1,2,3'"
看起来它正在读取一个空白的“”区域名称。为Azure编写此storageclass的正确方法是什么?请尝试以下方法。这对我有用
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: azure-disk
parameters:
cachingmode: None
kind: Managed
zoned: "true"
storageaccounttype: Standard_LRS
provisioner: kubernetes.io/azure-disk
allowedTopologies:
- matchLabelExpressions:
- key: failure-domain.beta.kubernetes.io/zone
values:
- australiaeast-1
您是否尝试将值从“1”
更改为1
?
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: azure-disk
parameters:
cachingmode: None
kind: Managed
zoned: "true"
storageaccounttype: Standard_LRS
provisioner: kubernetes.io/azure-disk
allowedTopologies:
- matchLabelExpressions:
- key: failure-domain.beta.kubernetes.io/zone
values:
- australiaeast-1