Korzystanie z dysków Platformy Azure w warstwie Ultra w usłudze Azure Kubernetes Service
Artykuł
Dyski w warstwie Ultra platformy Azure oferują magazyn danych na dysku z wysoką przepływnością, dużą liczbą operacji we/wy na sekundę i stałym małym opóźnieniem dla aplikacji stanowych. Jedną z głównych zalet dysków w warstwie Ultra jest możliwość dynamicznej zmiany wydajności dysków SSD wraz z obciążeniami, bez konieczności ponownego uruchamiania węzłów agenta. Dyski w warstwie Ultra są odpowiednie dla obciążeń intensywnie korzystających z danych.
W tym artykule opisano sposób konfigurowania nowego lub istniejącego klastra usługi AKS do korzystania z dysków Azure w warstwie Ultra.
Zanim rozpoczniesz
Tę funkcję można ustawić tylko podczas tworzenia klastra lub tworzenia puli węzłów.
Ograniczenia
Dyski w warstwie Ultra platformy Azure wymagają pul węzłów wdrożonych w strefach dostępności i regionach obsługujących te dyski i są obsługiwane tylko przez określoną serię maszyn wirtualnych. Aby uzyskać więcej informacji, zapoznaj się z odpowiednią tabelą w sekcji Ograniczenia dotyczące dysków w warstwie Ultra.
Dysków w warstwie Ultra nie można używać z niektórymi funkcjami i funkcjami, takimi jak zestawy dostępności lub usługa Azure Disk Encryption. Przejrzyj ograniczenia dotyczące dysków w warstwie Ultra, aby uzyskać najnowsze informacje.
Tworzenie klastra, który może używać dysków w warstwie Ultra
Utwórz klaster usługi AKS, który może korzystać z dysków Azure Ultra Disks przy użyciu następujących poleceń interfejsu wiersza polecenia. Użyj parametru EnableUltraSSD , --enable-ultra-ssd aby ustawić funkcję.
Jeśli chcesz utworzyć klaster bez obsługi dysków w warstwie Ultra, możesz to zrobić, pomijając --enable-ultra-ssd parametr .
Włączanie dysków w warstwie Ultra w istniejącym klastrze
Możesz włączyć dyski w warstwie Ultra w istniejącym klastrze, dodając nową pulę węzłów do klastra, który obsługuje dyski w warstwie Ultra. Skonfiguruj nową pulę węzłów do używania dysków w warstwie Ultra przy użyciu parametru --enable-ultra-ssd z poleceniem az aks nodepool add .
Jeśli chcesz utworzyć nowe pule węzłów bez obsługi dysków w warstwie Ultra, możesz to zrobić, wykluczając --enable-ultra-ssd parametr .
Dynamiczne używanie dysków w warstwie Ultra z klasą magazynu
Klasa magazynu służy do definiowania sposobu dynamicznego tworzenia jednostki magazynu przy użyciu woluminu trwałego. Aby uzyskać więcej informacji na temat klas magazynu Kubernetes, zobacz Klasy magazynu Kubernetes. W tym przykładzie utworzymy klasę magazynu, która odwołuje się do dysków w warstwie Ultra.
Utwórz plik o nazwie azure-ultra-disk-sc.yaml i skopiuj go w następującym manifeście:
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
Utwórz klasę magazynu przy użyciu kubectl apply polecenia i określ azure-ultra-disk-sc.yaml plik.
kubectl apply -f azure-ultra-disk-sc.yaml
Dane wyjściowe powinny przypominać następujące przykładowe dane wyjściowe:
storageclass.storage.k8s.io/ultra-disk-sc created
Tworzenie trwałego oświadczenia woluminu
Trwałe oświadczenie woluminu (PVC) służy do automatycznego aprowizowania magazynu na podstawie klasy magazynu. W takim przypadku w celu utworzenia dysku w warstwie Ultra można użyć wcześniej utworzonej klasy magazynu.
Utwórz plik o nazwie azure-ultra-disk-pvc.yaml i skopiuj go w następującym manifeście:
Oświadczenie żąda dysku o nazwie ultra-disk o rozmiarze 1000 GB z dostępem ReadWriteOnce . Klasa magazynu ultra-disk-sc jest określana jako klasa magazynu.
Utwórz oświadczenie trwałego woluminu kubectl apply przy użyciu polecenia i określ azure-ultra-disk-pvc.yaml plik.
kubectl apply -f azure-ultra-disk-pvc.yaml
Dane wyjściowe powinny przypominać następujące przykładowe dane wyjściowe:
persistentvolumeclaim/ultra-disk created
Używanie woluminu trwałego
Po utworzeniu trwałego oświadczenia woluminu i pomyślnym aprowizacji dysku można utworzyć zasobnik z dostępem do dysku. Poniższy manifest tworzy podstawowy zasobnik NGINX, który używa trwałego oświadczenia woluminu o nazwie ultra-disk do zainstalowania dysku platformy Azure w ścieżce /mnt/azure.
Utwórz plik o nazwie nginx-ultra.yaml i skopiuj go w następującym manifeście:
Utwórz zasobnik przy użyciu kubectl apply polecenia i określ nginx-ultra.yaml plik.
kubectl apply -f nginx-ultra.yaml
Dane wyjściowe powinny przypominać następujące przykładowe dane wyjściowe:
pod/nginx-ultra created
Masz teraz uruchomiony zasobnik z dyskiem platformy Azure zainstalowanym /mnt/azure w katalogu.
Zobacz szczegóły konfiguracji przy użyciu kubectl describe pod polecenia i określ nginx-ultra.yaml plik.
kubectl describe pod nginx-ultra
Dane wyjściowe powinny przypominać następujące przykładowe dane wyjściowe:
[...]
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"
[...]
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie Azure Kubernetes Service
Azure Kubernetes Service to projekt typu open source. Wybierz link, aby przekazać opinię:
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.
Administrowanie infrastrukturą bazy danych programu SQL Server dla chmurowych, lokalnych i hybrydowych relacyjnych baz danych przy użyciu ofert relacyjnych baz danych PaaS firmy Microsoft.