Megosztás a következőn keresztül:


Azure Premium SSD v2-lemezek használata az Azure Kubernetes Service-ben

Az Azure Premium SSD v2-lemezek IO-intenzív nagyvállalati számítási feladatokat, konzisztens almilliszekundumos lemezkéséssel és magas IOPS- és átviteli sebességet kínálnak. A Prémium SSD v2-lemezek teljesítménye (kapacitása, átviteli sebessége és IOPS) bármikor egymástól függetlenül konfigurálható, így a teljesítményigények kielégítése mellett több forgatókönyv is költséghatékony lehet.

Ez a cikk azt ismerteti, hogyan konfigurálhat egy új vagy meglévő AKS-fürtöt az Azure Premium SSD v2-lemezek használatára.

Mielőtt elkezdené

Az Azure Premium SSD v2-lemezek használatára képes AKS-fürt létrehozása vagy frissítése előtt létre kell hoznia egy AKS-fürtöt ugyanabban a régióban és rendelkezésre állási zónában, amely támogatja a Premium Storage-t, és csatolja a lemezeket az alábbi lépések végrehajtásával.

Meglévő AKS-fürtök esetén engedélyezheti a Prémium SSD v2-lemezeket úgy, hogy új csomópontkészletet ad hozzá a fürthöz, majd csatolja a lemezeket az alábbi lépéseket követve.

Fontos

Az Azure Premium SSD v2-lemezekhez olyan csomópontkészletek szükségesek, amelyek ezeket a lemezeket támogató régiókban vannak üzembe helyezve. A támogatott régiók listájáért tekintse meg a Prémium SSD v2 lemez által támogatott régiókat.

Korlátozások

  • Az Azure Premium SSD v2-lemezek bizonyos korlátozásokkal rendelkeznek, amelyekkel tisztában kell lennie. A teljes listát a Prémium SSD v2-korlátozások című témakörben találja.

Prémium SSD v2-lemezek dinamikus használata tárosztályokkal

Ha prémium SSD v2-lemezeket szeretne használni egy üzembe helyezési vagy állapotalapú készletben, használhat egy tárolási osztályt a dinamikus kiépítéshez.

A tárosztály létrehozása

A tárolóosztályok határozzák meg, hogyan jön létre dinamikusan egy tárolóegység egy állandó kötettel. A Kubernetes storage osztályokkal kapcsolatos további információkért lásd: Kubernetes Storage Classes.

Ebben a példában egy prémium SSD v2-lemezekre hivatkozó tárolási osztályt hoz létre. Hozzon létre egy nevű azure-pv2-disk-sc.yamlfájlt, és másolja a következő jegyzékbe.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
   name: premium2-disk-sc
parameters:
   cachingMode: None
   skuName: PremiumV2_LRS
   DiskIOPSReadWrite: "4000"
   DiskMBpsReadWrite: "1000"
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true

Hozza létre a tárosztályt a kubectl apply paranccsal, és adja meg az azure-pv2-disk-sc.yaml fájlt:

kubectl apply -f azure-pv2-disk-sc.yaml

A parancs kimenete a következő példához hasonlít:

storageclass.storage.k8s.io/premium2-disk-sc created

Állandó mennyiségi jogcím létrehozása

Egy állandó mennyiségi jogcím (PVC) használatával automatikusan kiépül a tároló egy tárolási osztály alapján. Ebben az esetben a PVC a korábban létrehozott tárolási osztály használatával hozhat létre ultralemezt.

Hozzon létre egy nevű azure-pv2-disk-pvc.yamlfájlt, és másolja a következő jegyzékbe. A jogcím egy 1000 GB méretű, ReadWriteOnce-hozzáféréssel rendelkező lemezt premium2-disk kér. A premium2-disk-sc tárolási osztály tárolóosztályként van megadva.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: premium2-disk
spec:
  accessModes:
  - ReadWriteOnce
  storageClassName: premium2-disk-sc
  resources:
    requests:
      storage: 1000Gi

Hozza létre az állandó mennyiségi jogcímet a kubectl apply paranccsal, és adja meg az azure-pv2-disk-pvc.yaml fájlt:

kubectl apply -f azure-pv2-disk-pvc.yaml

A parancs kimenete a következő példához hasonlít:

persistentvolumeclaim/premium2-disk created

Az állandó kötet használata

Az állandó kötet jogcímének létrehozása és a lemez üzembe helyezése után a podok a lemezhez való hozzáféréssel hozhatók létre. Az alábbi jegyzék egy alapszintű NGINX-podot hoz létre, amely a premium2-disk nevű állandó mennyiségi jogcímet használja az Azure-lemez csatlakoztatásához az elérési úthoz/mnt/azure.

Hozzon létre egy nevű nginx-premium2.yamlfájlt, és másolja a következő jegyzékbe.

kind: Pod
apiVersion: v1
metadata:
  name: nginx-premium2
spec:
  containers:
  - name: nginx-premium2
    image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 250m
        memory: 256Mi
    volumeMounts:
    - mountPath: "/mnt/azure"
      name: volume
  volumes:
    - name: volume
      persistentVolumeClaim:
        claimName: premium2-disk

Hozza létre a podot a kubectl apply paranccsal, ahogyan az a következő példában is látható:

kubectl apply -f nginx-premium2.yaml

A parancs kimenete a következő példához hasonlít:

pod/nginx-premium2 created

Most már rendelkezik egy futó podgal, amelyen az Azure-lemez csatlakoztatva van a /mnt/azure könyvtárhoz. Ez a konfiguráció látható a podon keresztüli kubectl describe pod nginx-premium2vizsgálat során, ahogyan az alábbi sűrített példában látható:

kubectl describe pod nginx-premium2

[...]
Volumes:
  volume:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  premium2-disk
    ReadOnly:   false
  kube-api-access-sh59b:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                             node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason                  Age    From                     Message
  ----    ------                  ----   ----                     -------
  Normal  Scheduled               7m58s  default-scheduler        Successfully assigned default/nginx-premium2 to aks-agentpool-12254644-vmss000006
  Normal  SuccessfulAttachVolume  7m46s  attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-ff39fb64-1189-4c52-9a24-e065b855b886"
  Normal  Pulling                 7m39s  kubelet                  Pulling image "mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine"
  Normal  Pulled                  7m38s  kubelet                  Successfully pulled image "mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine" in 1.192915667s
  Normal  Created                 7m38s  kubelet                  Created container nginx-premium2
  Normal  Started                 7m38s  kubelet                  Started container nginx-premium2
[...]

IOPS- és átviteli sebességkorlátok beállítása

Az Azure Premium v2 SSD-lemez bemeneti/kimeneti műveleteinek másodpercenkénti (IOPS) és átviteli sebességkorlátjai jelenleg nem támogatottak az AKS-ben. A teljesítmény módosításához használhatja az Azure CLI az disk update parancsot, beleértve a paramétereket és --disk-mbps-read-write a --disk-iops-read-write lemezeket is.

Az alábbi példa 5000-esre és Mbps-ra frissíti a lemez IOPS-olvasási/írási sebességét 200-ra. Az --resource-groupértéknek a második automatikusan létrehozott erőforráscsoportnak kell lennie, amely az AKS-feldolgozó csomópontok elnevezési konvencióval való tárolására MC_resourcegroupname_clustername_location. További információ: Miért jön létre két erőforráscsoport az AKS-sel?

A paraméter értéke --name a StorageClass használatával létrehozott kötet neve, és a következővel pvc-kezdődik: . A lemez nevének azonosításához futtassa kubectl get pvc vagy keresse meg a portál másodlagos erőforráscsoportját. További információért tekintse meg az Erőforrások kezelése az Azure Portalról című témakört .

az disk update --subscription subscriptionName --resource-group myResourceGroup --name diskName --disk-iops-read-write=5000 --disk-mbps-read-write=200  

Következő lépések