Share via


Azure ultralemezek használata Azure Kubernetes Service

Az Azure-ultralemezek nagy átviteli sebességet, nagy IOPS-t, és mindig alacsony lemeztárhely-késést kínálnak az állapotalapú alkalmazásokhoz. Az ultralemezek egyik nagy előnye az a képességük, hogy az SSD teljesítménye dinamikusan változtatható a számítási feladatoknak megfelelően anélkül, hogy az ügynökcsomópontokat újra kellene indítani. Az ultralemezek kitűnően alkalmasak a nagy adatigényű számítási feladatokhoz.

Ez a cikk bemutatja, hogyan konfigurálhat egy új vagy meglévő AKS-fürtöt az Azure Ultra Disks használatára.

Előkészületek

Ez a funkció csak fürt létrehozásakor vagy csomópontkészlet létrehozásakor állítható be.

Korlátozások

  • Az Azure ultralemezeihez rendelkezésre állási zónákban és régiókban üzembe helyezett csomópontkészletek szükségesek, amelyek támogatják ezeket a lemezeket, és csak bizonyos virtuálisgép-sorozatok támogatják őket. További információért tekintse át a megfelelő táblázatot az Ultra lemezkorlátozások szakaszában.
  • Az ultralemezek nem használhatók bizonyos funkciókkal és funkciókkal, például a rendelkezésre állási csoportokkal vagy az Azure Disk Encryption szolgáltatással. A legfrissebb információkért tekintse át az Ultra lemezre vonatkozó korlátozásokat .

Ultralemezeket használó fürt létrehozása

Hozzon létre egy AKS-fürtöt, amely az alábbi CLI-parancsokkal képes kihasználni az Azure Ultra Diskst. --enable-ultra-ssd A paraméter használatával állítsa be a EnableUltraSSD funkciót.

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

Ha ultralemez-támogatás nélküli fürtöt szeretne létrehozni, ezt a paraméter kihagyásával --enable-ultra-ssd teheti meg.

Ultralemezek engedélyezése meglévő fürtön

Az ultralemezek meglévő fürtökön való engedélyezéséhez adjon hozzá egy új csomópontkészletet a fürthöz, amely támogatja az ultralemezeket. Konfiguráljon egy új csomópontkészletet ultralemezek használatára a --enable-ultra-ssd paraméterrel a az aks nodepool add paranccsal.

Ha az ultralemezek támogatása nélkül szeretne új csomópontkészleteket létrehozni, ezt a --enable-ultra-ssd paraméter kizárásával teheti meg.

Ultralemezek dinamikus használata tárolóosztállyal

Ha ultralemezeket szeretne használni az üzemelő példányokban vagy állapotalapú készletekben, használhat egy tárolóosztályt a dinamikus kiépítéshez.

A tárosztály létrehozása

A tárolóosztályok határozzák meg, hogy a tárolóegységek hogyan hozhatók létre dinamikusan egy állandó kötettel. A Kubernetes storage osztályokkal kapcsolatos további információkért lásd: Kubernetes-tárolóosztályok. Ebben a példában létrehozunk egy tárosztályt, amely ultralemezekre hivatkozik.

  1. Hozzon létre egy nevű azure-ultra-disk-sc.yaml fájlt, és másolja a következő jegyzékfájlt:

    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
    
  2. Hozza létre a storage osztályt a kubectl apply paranccsal, és adja meg a azure-ultra-disk-sc.yaml fájlt.

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

    A kimenetnek a következő példakimenethez kell hasonlítania:

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

Állandó mennyiségi jogcím létrehozása

Egy állandó kötetjogcí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ályt használhatja ultralemez létrehozásához.

  1. Hozzon létre egy nevű azure-ultra-disk-pvc.yaml fájlt, és másolja a következő jegyzékfájlt:

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

    A jogcím egy 1000 GB méretű, ReadWriteOnce-hozzáféréssel rendelkező lemezt ultra-disk kér. Az ultra-disk-sc tárolási osztály tárolóosztályként van megadva.

  2. Hozza létre az állandó kötet jogcímét a kubectl apply paranccsal, és adja meg a azure-ultra-disk-pvc.yaml fájlt.

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

    A kimenetnek a következő példakimenethez kell hasonlítania:

    persistentvolumeclaim/ultra-disk created
    

Az állandó kötet használata

Az állandó kötetjogcím létrehozása és a lemez sikeres kiépítése után egy pod hozható létre a lemezhez való hozzáféréssel. Az alábbi jegyzék egy alapszintű NGINX-podot hoz létre, amely az Ultra-disk nevű állandó kötetkövetelést használja az Azure-lemez csatlakoztatásához az elérési úthoz /mnt/azure.

  1. Hozzon létre egy nevű nginx-ultra.yaml fájlt, és másolja a következő jegyzékfájlt:

    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
    
  2. Hozza létre a podot a kubectl apply paranccsal, és adja meg a nginx-ultra.yaml fájlt.

    kubectl apply -f nginx-ultra.yaml
    

    A kimenetnek a következő példakimenethez kell hasonlítania:

    pod/nginx-ultra created
    

    Most már van egy futó podja, amelyen az Azure-lemez van csatlakoztatva a /mnt/azure könyvtárban.

  3. Tekintse meg a konfiguráció részleteit az kubectl describe pod paranccsal, és adja meg a nginx-ultra.yaml fájlt.

    kubectl describe pod nginx-ultra
    

    A kimenetnek a következő példakimenethez kell hasonlítania:

    [...]
    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"
    [...]
    

Következő lépések