Použití disků Azure Ultra na Azure Kubernetes Service
Disky Azure Ultra zajišťují vysokou propustnost, vysoký počet vstupně-výstupních operací (IOPS) a představují konzistentní diskové úložiště s nízkou latencí pro stavové aplikace. Jednou z hlavních výhod disků úrovně Ultra je schopnost dynamicky měnit výkon disku SSD podle aktuálních úloh, aniž byste museli restartovat uzly agenta. Disky Úrovně Ultra jsou vhodné pro úlohy náročné na data.
Tento článek popisuje, jak nakonfigurovat nový nebo existující cluster AKS tak, aby používal disky Azure Ultra.
Než začnete
Tuto funkci je možné nastavit pouze při vytváření clusteru nebo při vytváření fondu uzlů.
Omezení
- Disky Azure ultra vyžadují fondy uzlů nasazené v zónách dostupnosti a oblastech, které tyto disky podporují, a podporují je jenom konkrétní řady virtuálních počítačů. Další informace najdete v odpovídající tabulce v části Omezení disků úrovně Ultra .
- Disky Úrovně Ultra se nedají používat s některými funkcemi, jako jsou skupiny dostupnosti nebo Azure Disk Encryption. Nejnovější informace najdete v tématu Omezení disků Úrovně Ultra .
Vytvoření clusteru, který může používat disky úrovně Ultra
Pomocí následujících příkazů rozhraní příkazového řádku vytvořte cluster AKS, který dokáže využívat disky Azure Ultra. Pomocí parametru --enable-ultra-ssd
nastavte EnableUltraSSD
funkci.
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
Pokud chcete vytvořit cluster bez podpory disků úrovně Ultra, můžete to udělat vynecháním parametru --enable-ultra-ssd
.
Povolení disků úrovně Ultra v existujícím clusteru
Disky úrovně Ultra můžete povolit v existujícím clusteru přidáním nového fondu uzlů do clusteru, který podporuje disky úrovně Ultra. Pomocí parametru --enable-ultra-ssd
s az aks nodepool add
příkazem nakonfigurujte nový fond uzlů tak, aby používal disky úrovně Ultra.
Pokud chcete vytvořit nové fondy uzlů bez podpory disků úrovně Ultra, můžete to udělat vyloučením parametru --enable-ultra-ssd
.
Dynamické používání disků úrovně Ultra spolu s třídou úložiště
Pokud chcete ve svých nasazeních nebo stavových sadách používat disky úrovně Ultra, můžete k dynamickému zřizování použít třídu úložiště.
Vytvoření třídy úložiště
Třída úložiště se používá k definování dynamického vytváření jednotky úložiště s trvalým svazkem. Další informace o třídách úložiště Kubernetes najdete v tématu Třídy úložiště Kubernetes. V tomto příkladu vytvoříme třídu úložiště, která odkazuje na disky úrovně Ultra.
Vytvořte soubor s názvem
azure-ultra-disk-sc.yaml
a zkopírujte ho v následujícím manifestu: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
Pomocí příkazu vytvořte třídu
kubectl apply
úložiště a zadejte souborazure-ultra-disk-sc.yaml
.kubectl apply -f azure-ultra-disk-sc.yaml
Výstup by se měl podobat následujícímu příkladu výstupu:
storageclass.storage.k8s.io/ultra-disk-sc created
Vytvoření trvalé deklarace identity svazku
K automatickému zřizování úložiště na základě třídy úložiště se používá trvalá deklarace identity svazku (PVC). V tomto případě může PVC použít dříve vytvořenou třídu úložiště k vytvoření disku úrovně Ultra.
Vytvořte soubor s názvem
azure-ultra-disk-pvc.yaml
a zkopírujte ho v následujícím manifestu:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ultra-disk spec: accessModes: - ReadWriteOnce storageClassName: ultra-disk-sc resources: requests: storage: 1000Gi
Deklarace identity požádá o disk s názvem
ultra-disk
o velikosti 1000 GB s přístupem ReadWriteOnce . Třída úložiště ultra-disk-sc je určena jako třída úložiště.Pomocí příkazu vytvořte trvalou deklaraci identity svazku
kubectl apply
a zadejte souborazure-ultra-disk-pvc.yaml
.kubectl apply -f azure-ultra-disk-pvc.yaml
Výstup by se měl podobat následujícímu příkladu výstupu:
persistentvolumeclaim/ultra-disk created
Použití trvalého svazku
Po vytvoření deklarace trvalého svazku a úspěšném zřízení disku je možné vytvořit pod s přístupem k disku. Následující manifest vytvoří základní pod NGINX, který používá deklaraci trvalého svazku s názvem ultra-disk k připojení disku Azure k cestě /mnt/azure
.
Vytvořte soubor s názvem
nginx-ultra.yaml
a zkopírujte ho v následujícím manifestu: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
Vytvořte pod pomocí
kubectl apply
příkazu a zadejte soubornginx-ultra.yaml
.kubectl apply -f nginx-ultra.yaml
Výstup by se měl podobat následujícímu příkladu výstupu:
pod/nginx-ultra created
Teď máte spuštěný pod s diskem Azure připojeným v adresáři
/mnt/azure
.Pomocí příkazu zobrazte podrobnosti o
kubectl describe pod
konfiguraci a zadejte soubornginx-ultra.yaml
.kubectl describe pod nginx-ultra
Výstup by se měl podobat následujícímu příkladu výstupu:
[...] 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" [...]
Další kroky
- Další informace o discích úrovně Ultra najdete v tématu Použití disků Azure Ultra.
- Další informace o osvědčených postupech pro úložiště najdete v tématu Osvědčené postupy pro úložiště a zálohy v AKS.
Azure Kubernetes Service
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro