【问题标题】: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


    【解决方案1】:

    似乎没有选择,请参阅他们的代码 https://github.com/kubernetes-sigs/azuredisk-csi-driver/blob/master/docs/driver-parameters.md

    您可以尝试使用 DiskIOPSReadWrite。

    但更好的方法是为 Azure 开一张支持票

    【讨论】:

      【解决方案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 将为您提供 P18Gi 将为您提供 P2 等等。 在此处查看磁盘大小如何映射到层 https://learn.microsoft.com/en-us/azure/virtual-machines/disks-change-performance#what-tiers-can-be-changed

      例如,以下将为您提供 P2managed-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 层

        【讨论】:

          猜你喜欢
          • 2021-12-09
          • 1970-01-01
          • 1970-01-01
          • 2017-11-10
          • 2011-02-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多