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.yaml
fá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.yaml
fá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.yaml
fá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-premium2
vizsgá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
- A Prémium SSD v2-lemezekről további információt az Azure Premium SSD v2-lemezek használata című témakörben talál.
- A tárolási ajánlott eljárásokról további információt az Azure Kubernetes Service (AKS) tárolási és biztonsági mentési ajánlott eljárásaiban talál.
Azure Kubernetes Service