Megosztás a következőn keresztül:


Azure ultralemezek használata az Azure Kubernetes Service-ben

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 azt ismerteti, hogyan konfigurálhat egy új vagy meglévő AKS-fürtöt az Azure ultralemezek használatára.

Mielőtt elkezdené

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

Korlátozások

  • Az Azure ultralemezekhez 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 adott 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 szakaszban.
  • 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 Disks szolgáltatást. --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 \
    --generate-ssh-keys

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éter és a az aks nodepool add parancs használatával.

Ha az ultralemezek támogatása nélkül szeretne új csomópontkészleteket létrehozni, ezt a paraméter kizárásával --enable-ultra-ssd 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ási osztályt a dinamikus kiépítéshez.

A tárosztály létrehozása

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

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

    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 tárosztá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ó mennyiségi jogcí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ály használatával hozhat létre ultralemezt.

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

    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 ultralemez-sc tárolási osztály a tárolási 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ötet jogcímének létrehozása és a lemez üzembe helyezése után a podok a lemezhez való hozzáféréssel hozhatók létre. Az alábbi jegyzék egy alapszintű NGINX-podot hoz létre, amely az ultralemez nevű állandó kötet jogcímet használja az Azure-lemez csatlakoztatásához az elérési úthoz/mnt/azure.

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

    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 kubectl apply a 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 rendelkezik egy futó podgal, amelyen az Azure-lemez csatlakoztatva van a /mnt/azure könyvtárhoz.

  3. Tekintse meg a konfiguráció részleteit a kubectl describe pod parancs használatával, é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