Använd Azure Ultra disks på Azure Kubernetes service (för hands version)Use Azure ultra disks on Azure Kubernetes Service (preview)

Azure Ultra disks erbjuder högt data flöde, hög IOPS och konsekvent låg latens disk lagring för dina tillstånds känsliga program.Azure ultra disks offer high throughput, high IOPS, and consistent low latency disk storage for your stateful applications. En stor fördel med Ultra disks är möjligheten att dynamiskt ändra prestanda för SSD tillsammans med dina arbets belastningar utan att behöva starta om dina agent-noder.One major benefit of ultra disks is the ability to dynamically change the performance of the SSD along with your workloads without the need to restart your agent nodes. Ultra disks lämpar sig för data intensiva arbets belastningar.Ultra disks are suited for data-intensive workloads.

Innan du börjarBefore you begin

Den här funktionen kan bara ställas in när klustret skapas eller när en nod skapas.This feature can only be set at cluster creation or node pool creation time.

Viktigt

Azure Ultra disks kräver att nodepools distribueras i tillgänglighets zoner och regioner som har stöd för dessa diskar samt endast vissa VM-serier.Azure ultra disks require nodepools deployed in availability zones and regions that support these disks as well as only specific VM series. Se omfattning och begränsningar för Ultra disks ga.See the Ultra disks GA scope and limitations.

Registrera EnableUltraSSD förhands gransknings funktionenRegister the EnableUltraSSD preview feature

Om du vill skapa ett AKS-kluster eller en resurspool som kan utnyttja Ultra disks måste du aktivera EnableUltraSSD funktions flaggan i din prenumeration.To create an AKS cluster or a node pool that can leverage Ultra disks, you must enable the EnableUltraSSD feature flag on your subscription.

Registrera EnableUltraSSD funktions flaggan med hjälp av kommandot AZ Feature register som visas i följande exempel:Register the EnableUltraSSD feature flag using the az feature register command as shown in the following example:

az feature register --namespace "Microsoft.ContainerService" --name "EnableUltraSSD"

Det tar några minuter för statusen att visa registrerad .It takes a few minutes for the status to show Registered . Du kan kontrol lera registrerings statusen med hjälp av kommandot AZ feature list :You can check on the registration status using the az feature list command:

az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/EnableUltraSSD')].{Name:name,State:properties.state}"

När du är klar uppdaterar du registreringen av resurs leverantören Microsoft. container service med hjälp av AZ Provider register kommando:When ready, refresh the registration of the Microsoft.ContainerService resource provider using the az provider register command:

az provider register --namespace Microsoft.ContainerService

Viktigt

AKS för hands versions funktioner är tillgängliga på en självbetjänings-och deltagande nivå.AKS preview features are available on a self-service, opt-in basis. För hands versioner tillhandahålls "i befintligt skick" och "som tillgängliga" och de är undantagna från service avtals avtal och begränsad garanti.Previews are provided "as is" and "as available," and they're excluded from the service-level agreements and limited warranty. AKS för hands versionerna omfattas delvis av kund supporten på bästa möjliga sätt.AKS previews are partially covered by customer support on a best-effort basis. Dessa funktioner är därför inte avsedda att användas för produktion.As such, these features aren't meant for production use. AKS för hands versions funktioner är inte tillgängliga i Azure Government eller Azure Kina 21Vianet-moln.AKS preview features aren't available in Azure Government or Azure China 21Vianet clouds. Mer information finns i följande support artiklar:For more information, see the following support articles:

Installera CLI-tillägget aks-previewInstall aks-preview CLI extension

Om du vill skapa ett AKS-kluster eller en Node-pool som kan använda Ultra disks, behöver du det senaste AKS CLI- tillägget.To create an AKS cluster or a node pool that can use Ultra Disks, you need the latest aks-preview CLI extension. Installera AKS-Preview Azure CLI-tillägget med kommandot AZ Extension Add eller installera alla tillgängliga uppdateringar med kommandot AZ Extension Update :Install the aks-preview Azure CLI extension using the az extension add command, or install any available updates using the az extension update command:

# Install the aks-preview extension
az extension add --name aks-preview

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

BegränsningarLimitations

Skapa ett nytt kluster som kan använda Ultra disksCreate a new cluster that can use Ultra disks

Skapa ett AKS-kluster som kan utnyttja Ultra disks med hjälp av följande CLI-kommandon.Create an AKS cluster that is able to leverage Ultra Disks by using the following CLI commands. Använd --aks-custom-headers flaggan för att ställa in EnableUltraSSD funktionen.Use the --aks-custom-headers flag to set the EnableUltraSSD feature.

Skapa en Azure-resurs grupp:Create an Azure resource group:

# Create an Azure resource group
az group create --name myResourceGroup --location westus2

Skapa AKS-klustret med stöd för Ultra disks.Create the AKS cluster with support for Ultra Disks.

# Create an AKS-managed Azure AD cluster
az aks create -g MyResourceGroup -n MyManagedCluster -l westus2 --node-vm-size Standard_L8s_v2 --zones 1 2 --node-count 2 --aks-custom-headers EnableUltraSSD=true

Om du vill skapa kluster utan stöd för Ultra disk kan du göra det genom att utesluta den anpassade --aks-custom-headers parametern.If you want to create clusters without ultra disk support, you can do so by omitting the custom --aks-custom-headers parameter.

Aktivera Ultra disks i ett befintligt klusterEnable Ultra disks on an existing cluster

Du kan aktivera Ultra disks i befintliga kluster genom att lägga till en ny Node-pool i klustret som stöder Ultra disks.You can enable ultra disks on existing clusters by adding a new node pool to your cluster that support ultra disks. Konfigurera en ny Node-pool så att den använder värdbaserad kryptering med hjälp av --aks-custom-headers flaggan.Configure a new node pool to use host-based encryption by using the --aks-custom-headers flag.

az aks nodepool add --name ultradisk --cluster-name myAKSCluster --resource-group myResourceGroup --node-vm-size Standard_L8s_v2 --zones 1 2 --node-count 2 --aks-custom-headers EnableUltraSSD=true

Om du vill skapa nya resurspooler utan stöd för Ultra disks kan du göra det genom att utesluta den anpassade --aks-custom-headers parametern.If you want to create new node pools without support for ultra disks, you can do so by omitting the custom --aks-custom-headers parameter.

Använd Ultra disks dynamiskt med en lagrings klassUse ultra disks dynamically with a storage class

Om du vill använda Ultra disks i våra distributioner eller tillstånds känsliga uppsättningar kan du använda en lagrings klass för dynamisk etablering.To use ultra disks in our deployments or stateful sets you can use a storage class for dynamic provisioning.

Skapa lagrings klassenCreate the storage class

En lagrings klass används för att definiera hur en lagrings enhet dynamiskt skapas med en permanent volym.A storage class is used to define how a unit of storage is dynamically created with a persistent volume. Mer information om Kubernetes lagrings klasser finns i Kubernetes Storage-klasser.For more information on Kubernetes storage classes, see Kubernetes Storage Classes.

I det här fallet skapar vi en lagrings klass som refererar till Ultra disks.In this case, we'll create a storage class that references ultra disks. Skapa en fil med namnet azure-ultra-disk-sc.yaml och kopiera i följande manifest.Create a file named azure-ultra-disk-sc.yaml, and copy in the following manifest.

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ultra-disk-sc
provisioner: kubernetes.io/azure-disk
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 lagrings klassen med kommandot kubectl Apply och ange din Azure-Ultra-disk-SC. yaml- fil:Create the storage class with the kubectl apply command and specify your azure-ultra-disk-sc.yaml file:

$ kubectl apply -f azure-ultra-disk-sc.yaml


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

Skapa ett beständigt volym anspråkCreate a persistent volume claim

Ett permanent volym anspråk (PVC) används för att automatiskt etablera lagring baserat på en lagrings klass.A persistent volume claim (PVC) is used to automatically provision storage based on a storage class. I det här fallet kan en PVC använda den tidigare skapade lagrings klassen för att skapa en Ultra-disk.In this case, a PVC can use the previously created storage class to create an ultra disk.

Skapa en fil med namnet azure-ultra-disk-pvc.yaml och kopiera i följande manifest.Create a file named azure-ultra-disk-pvc.yaml, and copy in the following manifest. Anspråket begär en disk med namnet ultra-disk 1000 GB i storlek med ReadWriteOnce -åtkomst.The claim requests a disk named ultra-disk that is 1000 GB in size with ReadWriteOnce access. Lagrings klassen Ultra-disk-SC har angetts som lagrings klass.The ultra-disk-sc storage class is specified as the storage class.

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

Skapa beständiga volym anspråk med kommandot kubectl Apply och ange din Azure-Ultra-disk-PVC. yaml- fil:Create the persistent volume claim with the kubectl apply command and specify your azure-ultra-disk-pvc.yaml file:

$ kubectl apply -f azure-ultra-disk-pvc.yaml

persistentvolumeclaim/ultra-disk created

Använd beständig volymUse the persistent volume

När beständiga volym anspråk har skapats och disken har etablerats kan du skapa en POD med åtkomst till disken.Once the persistent volume claim has been created and the disk successfully provisioned, a pod can be created with access to the disk. Följande manifest skapar en grundläggande NGINX-Pod som använder beständigt volym anspråk med namnet Ultra-disk för att montera Azure-disken på sökvägen /mnt/azure .The following manifest creates a basic NGINX pod that uses the persistent volume claim named ultra-disk to mount the Azure disk at the path /mnt/azure.

Skapa en fil med namnet nginx-ultra.yaml och kopiera i följande manifest.Create a file named nginx-ultra.yaml, and copy in the following 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 Pod med kommandot kubectl Apply , som du ser i följande exempel:Create the pod with the kubectl apply command, as shown in the following example:

$ kubectl apply -f nginx-ultra.yaml

pod/nginx-ultra created

Nu har du en igång-Pod med Azure-disken monterad i /mnt/azure katalogen.You now have a running pod with your Azure disk mounted in the /mnt/azure directory. Den här konfigurationen kan ses när du inspekterar din POD via kubectl describe pod nginx-ultra , som du ser i följande komprimerade exempel:This configuration can be seen when inspecting your pod via kubectl describe pod nginx-ultra, as shown in the following condensed example:

$ kubectl describe pod nginx-ultra

[...]
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 stegNext steps