Använda Azure Ultra Disks på Azure Kubernetes Service
Ultradiskar i Azure har stöd för stora dataflöden, många IOPS och korta svarstider för tillståndskänsliga appar. En stor fördel med ultradiskar är möjligheten att dynamiskt ändra prestanda för SSD-disken samtidigt som dina arbetsbelastningar utan att du behöver starta om agentnoderna. Ultradiskar är avsedda för dataintensiva arbetsbelastningar.
Den här artikeln beskriver hur du konfigurerar ett nytt eller befintligt AKS-kluster för att använda Azure Ultra Disks.
Innan du börjar
Den här funktionen kan bara ställas in när klustret skapas eller när du skapar en nodpool.
Begränsningar
- Azure-ultradiskar kräver nodpooler som distribueras i tillgänglighetszoner och regioner som stöder dessa diskar och som endast stöds av specifika VM-serier. Mer information finns i motsvarande tabell under avsnittet Begränsningar för Ultra-diskar .
- Ultradiskar kan inte användas med vissa funktioner, till exempel tillgänglighetsuppsättningar eller Azure Disk Encryption. Den senaste informationen finns i Begränsningar för Ultra-diskar .
Skapa ett kluster som kan använda ultradiskar
Skapa ett AKS-kluster som kan utnyttja Azure Ultra Disks med hjälp av följande CLI-kommandon. Använd parametern --enable-ultra-ssd
för att ange funktionen EnableUltraSSD
.
az aks create \
--resource-group MyResourceGroup \
--name myAKSCluster \
--location westus2 \
--node-vm-size Standard_D2s_v3 \
--zones 1 2 \
--node-count 2 \
--enable-ultra-ssd \
--generate-ssh-keys
Om du vill skapa ett kluster utan ultradiskstöd kan du göra det genom att utelämna parametern --enable-ultra-ssd
.
Aktivera ultradiskar i ett befintligt kluster
Du kan aktivera ultradiskar i ett befintligt kluster genom att lägga till en ny nodpool i klustret som stöder ultradiskar. Konfigurera en ny nodpool att använda ultradiskar med hjälp av parametern --enable-ultra-ssd
az aks nodepool add
med kommandot .
Om du vill skapa nya nodpooler utan stöd för ultradiskar kan du göra det genom att utesluta parametern --enable-ultra-ssd
.
Använda ultradiskar dynamiskt med en lagringsklass
Om du vill använda ultradiskar i dina distributioner eller tillståndskänsliga uppsättningar kan du använda en lagringsklass för dynamisk etablering.
Skapa lagringsklassen
En lagringsklass används för att definiera hur en lagringsenhet skapas dynamiskt med en beständig volym. Mer information om Kubernetes-lagringsklasser finns i Kubernetes-lagringsklasser. I det här exemplet skapar vi en lagringsklass som refererar till ultradiskar.
Skapa en fil med namnet
azure-ultra-disk-sc.yaml
och kopiera i följande manifest:kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: ultra-disk-sc provisioner: disk.csi.azure.com # replace with "kubernetes.io/azure-disk" if aks version is less than 1.21 volumeBindingMode: WaitForFirstConsumer # optional, but recommended if you want to wait until the pod that will use this disk is created parameters: skuname: UltraSSD_LRS kind: managed cachingMode: None diskIopsReadWrite: "2000" # minimum value: 2 IOPS/GiB diskMbpsReadWrite: "320" # minimum value: 0.032/GiB
Skapa lagringsklassen
kubectl apply
med kommandot och ange filenazure-ultra-disk-sc.yaml
.kubectl apply -f azure-ultra-disk-sc.yaml
Dina utdata bör likna följande exempelutdata:
storageclass.storage.k8s.io/ultra-disk-sc created
Skapa ett beständigt volymanspråk
Ett beständigt volymanspråk (PVC) används för att automatiskt etablera lagring baserat på en lagringsklass. I det här fallet kan en PVC använda den tidigare skapade lagringsklassen för att skapa en ultradisk.
Skapa en fil med namnet
azure-ultra-disk-pvc.yaml
och kopiera i följande manifest:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ultra-disk spec: accessModes: - ReadWriteOnce storageClassName: ultra-disk-sc resources: requests: storage: 1000Gi
Anspråket begär en disk med namnet
ultra-disk
1 000 GB i storlek med ReadWriteOnce-åtkomst . Lagringsklassen ultra-disk-sc anges som lagringsklass.Skapa det beständiga volymanspråket
kubectl apply
med kommandot och ange filenazure-ultra-disk-pvc.yaml
.kubectl apply -f azure-ultra-disk-pvc.yaml
Dina utdata bör likna följande exempelutdata:
persistentvolumeclaim/ultra-disk created
Använd den beständiga volymen
När det beständiga volymanspråket har skapats och disken har etablerats kan en podd skapas med åtkomst till disken. Följande manifest skapar en grundläggande NGINX-podd som använder det beständiga volymanspråket med namnet ultradisk för att montera Azure-disken på sökvägen /mnt/azure
.
Skapa en fil med namnet
nginx-ultra.yaml
och kopiera i följande manifest:kind: Pod apiVersion: v1 metadata: name: nginx-ultra spec: containers: - name: nginx-ultra 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: ultra-disk
Skapa podden med
kubectl apply
kommandot och ange filennginx-ultra.yaml
.kubectl apply -f nginx-ultra.yaml
Dina utdata bör likna följande exempelutdata:
pod/nginx-ultra created
Nu har du en podd som körs med din Azure-disk monterad i
/mnt/azure
katalogen.Se konfigurationsinformationen
kubectl describe pod
med kommandot och ange filennginx-ultra.yaml
.kubectl describe pod nginx-ultra
Dina utdata bör likna följande exempelutdata:
[...] Volumes: volume: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: azure-managed-disk ReadOnly: false default-token-smm2n: Type: Secret (a volume populated by a Secret) SecretName: default-token-smm2n Optional: false [...] Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m default-scheduler Successfully assigned mypod to aks-nodepool1-79590246-0 Normal SuccessfulMountVolume 2m kubelet, aks-nodepool1-79590246-0 MountVolume.SetUp succeeded for volume "default-token-smm2n" Normal SuccessfulMountVolume 1m kubelet, aks-nodepool1-79590246-0 MountVolume.SetUp succeeded for volume "pvc-faf0f176-8b8d-11e8-923b-deb28c58d242" [...]
Nästa steg
- Mer information om ultradiskar finns i Använda Ultra Disks i Azure.
- Mer information om metodtips för lagring finns i Metodtips för lagring och säkerhetskopiering i AKS.
Azure Kubernetes Service
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för