【问题标题】:AKS - Specify Performance Tier for Storage ClassAKS - 为存储类指定性能层
【发布时间】:2022-12-24 22:20:15
【问题描述】:
默认情况下,AKS 有许多存储类,如托管、托管 csi-premium、托管高级等。
示例:托管高级存储类:
$ k get sc managed-premium -o yaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
labels:
addonmanager.kubernetes.io/mode: EnsureExists
kubernetes.io/cluster-service: "true"
name: managed-premium
parameters:
cachingmode: ReadOnly
kind: Managed
storageaccounttype: Premium_LRS
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
创建此存储类的 PV 时,如何指定性能层(P10、20、30、40、50 等)?如果我需要创建一个新的存储类,我可以使用哪些参数来指定性能层?
【问题讨论】:
标签:
azure-storage
azure-aks
azure-disk
【解决方案2】:
基本上,持久卷动态地使用称为存储类在 Aks 中,这里有某些内置存储类,持久卷声明引用一个内置的存储类,内置存储类将开始创建并适当匹配持久卷,并始终绑定 PV,它使用请求它的持久卷声明创建.在这里你不能将两个 PVC 绑定到同一个 PV 但你可以在两个不同的 Pod 中使用同一个 PVC
当 pvc 被删除时,我们有一个删除回收策略的内置存储类,PV 以及底层存储也被删除,所以当您在这里创建自己的自定义存储类时,您有一个自定义高级保留,它有一个回收策略保留但在后端存储仍然在基于高级 ssd 的托管磁盘中我已经提供了一些关于存储类的知识
我可以使用哪些参数来指定性能层?
存储类别具有表征属于该存储类别的卷的参数。根据该条款,可能会接受不同的参数,具体取决于供应商,如果您提供参数storageAccount,您将需要使用您设置的名称自行手动创建存储帐户,并使用 Azure 存储帐户 Sku 层。默认为空。
skuName 在 Azure 中可用 —
-
标准_LRS— 标准本地冗余存储 (LRS)
-
标准_GRS— 标准异地冗余存储 (GRS)
-
标准_ZRS— 标准区域冗余存储 (ZRS)
-
标准_RAGRS— 标准读取访问异地冗余存储 (RA-GRS)
-
高级_LRS— 高级本地冗余存储 (LRS)
-
高级_ZRS— 高级区域冗余存储 (GRS)
供你参考 :
https://kubernetes.io/docs/concepts/storage/storage-classes/#azure-file
https://learn.microsoft.com/en-us/azure/aks/concepts-storage
【解决方案3】:
Tier 由磁盘大小控制,即 4Gi 将为您提供 P1,8Gi 将为您提供 P2 等等。
在此处查看磁盘大小如何映射到层 https://learn.microsoft.com/en-us/azure/virtual-machines/disks-change-performance#what-tiers-can-be-changed
例如,以下将为您提供 P2 和 managed-csi-premium
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-premium-claim
spec:
storageClassName: managed-csi-premium # gives you Premium SSD (LRS)
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi # gives you Disk tier P2
---
apiVersion: v1
kind: Pod
metadata:
name: my-pv-pod
spec:
volumes:
- name: my-premium-storage
persistentVolumeClaim:
claimName: my-premium-claim
containers:
- name: my-premium-container
image: mcr.microsoft.com/aks/fundamental/base-ubuntu:v0.0.11
volumeMounts:
- mountPath: "/data/share/"
name: my-premium-storage
【解决方案4】:
目前还不能,将来会有支持该功能的 AKS CSI 预览版。
尽管解决方法是过度配置 PV/PVC,例如选择 4TB 大小并获得最快的 P80 层