Share via


Az Azure Container Storage előzetes verziójának használata rövid élettartamú lemezzel

Az Azure Container Storage egy felhőalapú kötetkezelési, üzembe helyezési és vezénylési szolgáltatás, amely natív módon készült tárolókhoz. Ez a cikk bemutatja, hogyan konfigurálhatja az Azure Container Storage-t a Rövid élettartamú lemez háttértárként való használatára a Kubernetes-számítási feladatokhoz. A végén lesz egy pod, amely helyi NVMe-t vagy temp SSD-t használ tárolóként.

Fontos

A helyi lemezek rövid élettartamúak, ami azt jelenti, hogy a helyi virtuális gép (VM) tárolóján jönnek létre, és nem egy Azure Storage-szolgáltatásba vannak mentve. Ha leállítja vagy felszabadítja a virtuális gépet, az adatok elvesznek ezeken a lemezeken. A Kubernetes általános rövid élettartamú köteteit csak rövid élettartamú lemezes tárolókészletből hozhatja létre. Ha állandó kötetet szeretne létrehozni, engedélyeznie kell a tárolókészlet replikációját.

Előfeltételek

  • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

  • Ehhez a cikkhez az Azure CLI legújabb (2.35.0-s vagy újabb) verziója szükséges. Lásd : Az Azure CLI telepítése. Ha a Bash-környezetet használja az Azure Cloud Shellben, a legújabb verzió már telepítve van. Ha az Azure Cloud Shell helyett helyileg szeretné futtatni a parancsokat, mindenképpen rendszergazdai jogosultságokkal futtassa őket. További információ: Az Azure Cloud Shell használatának első lépései.

  • Szüksége lesz a Kubernetes parancssori ügyfélre. kubectl Már telepítve van, ha Az Azure Cloud Shellt használja, vagy helyileg is telepítheti a az aks install-cli parancs futtatásával.

  • Ha még nem telepítette az Azure Container Storage-t, kövesse az Azure Container Storage telepítésével kapcsolatos utasításokat.

Feljegyzés

Az Azure Container Storage rövid élettartamú lemezzel való használatához az AKS-fürtnek rendelkeznie kell legalább három tárolóoptimalizált virtuális géppel , például standard_l8s_v3. Javasoljuk, hogy minden virtuális gép legalább négy virtuális CPU-val (vCPU-kkal) rendelkezzen.

Regionális elérhetőség

Az Azure Container Storage csak az Azure-régiók egy részhalmazához érhető el:

  • (Afrika) Észak-Afrika déli régiója
  • (Ázsia és a csendes-óceáni térség) Ausztrália keleti régiója
  • (Ázsiai-csendes-óceáni térség) Kelet-Ázsia
  • (Ázsia és a Csendes-óceáni térség) Kelet-Japán
  • (Ázsiai-csendes-óceáni térség) Korea középső régiója
  • (Ázsiai-csendes-óceáni térség) Délkelet-Ázsia
  • (Ázsia és a Csendes-óceáni térség) Közép-India
  • (Európa) Közép-Franciaország
  • (Európa) Észak-Európa
  • (Európa) Nyugat-Európa
  • (Európa) Egyesült Királyság déli régiója
  • (Európa) Svédország középső régiója
  • (Európa) Észak-Svájc
  • (Közel-Kelet) Egyesült Arab Emírségek északi régiója
  • (Észak-Amerika) USA keleti régiója
  • (Észak-Amerika) USA 2. keleti régiója
  • (Észak-Amerika) USA nyugati régiója
  • (Észak-Amerika) USA 2. nyugati régiója
  • (Észak-Amerika) USA 3. nyugati régiója
  • (Észak-Amerika) USA középső régiója
  • (Észak-Amerika) USA északi középső régiója
  • (Észak-Amerika) USA déli középső régiója
  • (Észak-Amerika) USA nyugati középső régiója
  • (Észak-Amerika) Közép-Kanada
  • (Észak-Amerika) Kelet-Kanada
  • (Dél-Amerika) Dél-Brazília

Tárolókészlet létrehozása

Először hozzon létre egy tárolókészletet, amely a Kubernetes-fürt tárolójának logikai csoportosítása egy YAML-jegyzékfájlban való definiálásával.

Ha engedélyezte az Azure Container Storage használatát az aks create vagy az aks update parancsokat, lehet, hogy már rendelkezik tárkészletével. A tárolókészletek listájának lekéréséhez használható kubectl get sp -n acstor . Ha már rendelkezésre áll egy használni kívánt tárolókészlet, kihagyhatja ezt a szakaszt, és folytathatja az elérhető tárosztályok megjelenítését.

Három lehetőség közül választhat egy rövid élettartamú lemezt használó tárolókészlet létrehozására:

Tárolókészlet létrehozása az NVMe használatával

Az alábbi lépéseket követve hozzon létre egy tárolókészletet a helyi NVMe használatával.

  1. A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például code acstor-storagepool.yaml.

  2. Illessze be a következő kódot, és mentse a fájlt. A tárolókészlet névértéke tetszőleges lehet.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: ephemeraldisk
      namespace: acstor
    spec:
      poolType:
        ephemeralDisk: {}
    
  3. Alkalmazza a YAML-jegyzékfájlt a tárolókészlet létrehozásához.

    kubectl apply -f acstor-storagepool.yaml 
    

    Ha a tárolókészlet létrehozása befejeződött, a következő üzenet jelenik meg:

    storagepool.containerstorage.azure.com/ephemeraldisk created
    

    Ezt a parancsot a tárolókészlet állapotának ellenőrzéséhez is futtathatja. Cserélje le <storage-pool-name> a tárolókészlet névértékére . Ebben a példában az érték rövid élettartamú.

    kubectl describe sp <storage-pool-name> -n acstor
    

A tárolókészlet létrehozásakor az Azure Container Storage létrehoz egy tárolási osztályt az Ön nevében az elnevezési konvencióval acstor-<storage-pool-name>.

Tárolókészlet létrehozása ideiglenes SSD-vel

Az alábbi lépéseket követve hozzon létre egy tárolókészletet a temp SSD használatával.

  1. A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például code acstor-storagepool.yaml.

  2. Illessze be a következő kódot, és mentse a fájlt. A tárolókészlet névértéke tetszőleges lehet.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: ephemeraldisk
      namespace: acstor
    spec:
      poolType:
        ephemeralDisk:
          diskType: temp
    
  3. Alkalmazza a YAML-jegyzékfájlt a tárolókészlet létrehozásához.

    kubectl apply -f acstor-storagepool.yaml 
    

    Ha a tárolókészlet létrehozása befejeződött, a következő üzenet jelenik meg:

    storagepool.containerstorage.azure.com/ephemeraldisk created
    

    Ezt a parancsot a tárolókészlet állapotának ellenőrzéséhez is futtathatja. Cserélje le <storage-pool-name> a tárolókészlet névértékére . Ebben a példában az érték rövid élettartamú.

    kubectl describe sp <storage-pool-name> -n acstor
    

A tárolókészlet létrehozásakor az Azure Container Storage létrehoz egy tárolási osztályt az Ön nevében az elnevezési konvencióval acstor-<storage-pool-name>.

Az elérhető tárolási osztályok megjelenítése

Ha a tárolókészlet használatra kész, ki kell választania egy tárosztályt, amely meghatározza, hogyan jön létre dinamikusan a tároló az állandó kötet jogcímeinek létrehozásakor és az állandó kötetek üzembe helyezésekor.

Futtassa kubectl get sc az elérhető tárosztályok megjelenítéséhez. Ekkor megjelenik a .. nevű acstor-<storage-pool-name>tárosztály.

Fontos

Ne használja a belsőként megjelölt tárosztályt. Ez egy belső tárolási osztály, amely az Azure Container Storage működéséhez szükséges.

Pod üzembe helyezése általános rövid élettartamú kötettel

Hozzon létre egy podot a Fio (rugalmas I/O-tesztelő) használatával a teljesítményméréshez és a számítási feladatok szimulációhoz, amely általános rövid élettartamú kötetet használ.

  1. A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például code acstor-pod.yaml.

  2. Illessze be a következő kódot, és mentse a fájlt.

    kind: Pod
    apiVersion: v1
    metadata:
      name: fiopod
    spec:
      nodeSelector:
        acstor.azure.com/io-engine: acstor
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: ephemeralvolume
      volumes:
        - name: ephemeralvolume
          ephemeral:
            volumeClaimTemplate:
              metadata:
                labels:
                  type: my-ephemeral-volume
              spec:
                accessModes: [ "ReadWriteOnce" ]
                storageClassName: "acstor-ephemeraldisk-nvme" # replace with the name of your storage class if different
                resources:
                  requests:
                    storage: 1Gi
    
  3. Alkalmazza a YAML-jegyzékfájlt a pod üzembe helyezéséhez.

    kubectl apply -f acstor-pod.yaml
    

    A következőhöz hasonló kimenetnek kell megjelennie:

    pod/fiopod created
    
  4. Ellenőrizze, hogy fut-e a pod, és hogy a rövid élettartamú mennyiségi jogcím sikeresen a podhoz lett-e kötve:

    kubectl describe pod fiopod
    kubectl describe pvc fiopod-ephemeralvolume
    
  5. Ellenőrizze a fio-tesztelést az aktuális állapot megtekintéséhez:

    kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
    

Most üzembe helyezett egy podot, amely a Rövid élettartamú lemezt használja tárolóként, és használhatja a Kubernetes számítási feladataihoz.

Tárkészlet kibontása

A helyi NVMe vagy temp SSD által támogatott tárolókészletek kibontásával gyorsan és állásidő nélkül skálázhatja fel a tárolókészleteket. A tárolókészletek zsugorítása jelenleg nem támogatott.

Mivel a Rövid élettartamú lemez által támogatott tárolókészlet az AKS-fürtcsomópontokon (virtuális gépeken) helyi tárolási erőforrásokat használ, a tárolókészlet bővítéséhez hozzá kell adni egy másik csomópontot a fürthöz. Az alábbi utasításokat követve bontsa ki a tárolókészletet.

  1. Futtassa az alábbi parancsot egy csomópont hozzáadásához az AKS-fürthöz. Cserélje le <cluster-name>a , <nodepool name>és <resource-group-name> a saját értékeit. A csomópontkészlet nevének lekéréséhez futtassa a parancsot kubectl get nodes.

    az aks nodepool add --cluster-name <cluster name> --name <nodepool name> --resource-group <resource group> --node-vm-size Standard_L8s_v3 --node-count 1 --labels acstor.azure.com/io-engine=acstor
    
  2. Futtassa kubectl get nodes , és látni fogja, hogy egy csomópont lett hozzáadva a fürthöz.

  3. Futtassa kubectl get sp -A , és látnia kell, hogy a tárolókészlet kapacitása megnőtt.

Tárolókészlet törlése

Ha törölni szeretne egy tárolókészletet, futtassa a következő parancsot. Cserélje le <storage-pool-name> a tárolókészlet nevére.

kubectl delete sp -n acstor <storage-pool-name>

Nem kötelező: Tárolókészlet létrehozása kötetreplikálással (csak NVMe esetén)

A helyi NVMe-t használó alkalmazások kihasználhatják a tárolóreplikációt a nagyobb rugalmasság érdekében. A temp SSD jelenleg nem támogatja a replikációt.

Az Azure Container Storage jelenleg három replika- és ötreplika-konfigurációt támogat. Ha három replikát ad meg, legalább három csomópontnak kell lennie az AKS-fürtben. Ha öt replikát ad meg, legalább öt csomópontot kell tartalmaznia.

Az alábbi lépéseket követve hozzon létre egy tárolókészletet a helyi NVMe használatával replikációval.

Feljegyzés

Mivel a rövid élettartamú lemezes tárolókészletek az összes rendelkezésre álló NVMe-lemezt felhasználják, a replikációval rendelkező új tárolókészlet létrehozása előtt törölnie kell a meglévő rövid élettartamú helyi NVMe-tárolókészleteket.

  1. A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például code acstor-storagepool.yaml.

  2. Illessze be a következő kódot, és mentse a fájlt. A tárolókészlet névértéke tetszőleges lehet. A replikák beállítása 3 vagy 5 értékre.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: nvme
      namespace: acstor
    spec:
      poolType:
        ephemeralDisk:
          diskType: nvme
          replicas: 3
    
  3. Alkalmazza a YAML-jegyzékfájlt a tárolókészlet létrehozásához.

    kubectl apply -f acstor-storagepool.yaml 
    

    Ha a tárolókészlet létrehozása befejeződött, a következő üzenet jelenik meg:

    storagepool.containerstorage.azure.com/nvme created
    

    Ezt a parancsot a tárolókészlet állapotának ellenőrzéséhez is futtathatja. Cserélje le <storage-pool-name> a tárolókészlet névértékére . Ebben a példában az érték nvme.

    kubectl describe sp <storage-pool-name> -n acstor
    

A tárolókészlet létrehozásakor az Azure Container Storage létrehoz egy tárolási osztályt az Ön nevében az elnevezési konvencióval acstor-<storage-pool-name>. Most már megjelenítheti az elérhető tárolási osztályokat , és létrehozhat egy állandó mennyiségi jogcímet.

Á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. Az alábbi lépéseket követve hozzon létre egy PVC-t az új tárolási osztály használatával.

  1. A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például code acstor-pvc.yaml.

  2. Illessze be a következő kódot, és mentse a fájlt. A PVC-érték name tetszőleges lehet.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: ephemeralpvc
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: acstor-ephemeraldisk-nvme # replace with the name of your storage class if different
      resources:
        requests:
          storage: 100Gi
    
  3. Alkalmazza a YAML-jegyzékfájlt a PVC létrehozásához.

    kubectl apply -f acstor-pvc.yaml
    

    A következőhöz hasonló kimenetnek kell megjelennie:

    persistentvolumeclaim/ephemeralpvc created
    

    A PVC állapotát az alábbi parancs futtatásával ellenőrizheti:

    kubectl describe pvc ephemeralpvc
    

A PVC létrehozása után készen áll a pod általi használatra.

Pod üzembe helyezése és állandó kötet csatolása

Hozzon létre egy podot a Fio (rugalmas I/O-tesztelő) használatával a teljesítményméréshez és a számítási feladatok szimulációhoz, és adja meg az állandó kötet csatlakoztatási útvonalát. A claimName esetében használja az állandó mennyiségi jogcím létrehozásakor használt névértéket .

  1. A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például code acstor-pod.yaml.

  2. Illessze be a következő kódot, és mentse a fájlt.

    kind: Pod
    apiVersion: v1
    metadata:
      name: fiopod
    spec:
      nodeSelector:
        acstor.azure.com/io-engine: acstor
      volumes:
        - name: ephemeralpv
          persistentVolumeClaim:
            claimName: ephemeralpvc
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: ephemeralpv
    
  3. Alkalmazza a YAML-jegyzékfájlt a pod üzembe helyezéséhez.

    kubectl apply -f acstor-pod.yaml
    

    A következőhöz hasonló kimenetnek kell megjelennie:

    pod/fiopod created
    
  4. Ellenőrizze, hogy fut-e a pod, és hogy az állandó kötet jogcíme sikeresen hozzá lett-e kötve a podhoz:

    kubectl describe pod fiopod
    kubectl describe pvc ephemeralpvc
    
  5. Ellenőrizze a fio-tesztelést az aktuális állapot megtekintéséhez:

    kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
    

Most üzembe helyezett egy podot, amely a Rövid élettartamú lemezt használja tárolóként, és használhatja a Kubernetes számítási feladataihoz.

Állandó kötet leválasztása és újbóli csatlakoztatása

Az állandó kötet leválasztásához törölje azt a podot, amelyhez az állandó kötet csatlakozik. Cserélje le <pod-name> a pod nevére, például a fiopodra.

kubectl delete pods <pod-name>

Állandó kötet újbóli csatlakoztatásához egyszerűen hivatkozzon az állandó kötet jogcímnevére a YAML-jegyzékfájlban a Pod üzembe helyezése című cikkben leírtak szerint, és csatoljon egy állandó kötetet.

Annak ellenőrzéséhez, hogy az állandó kötet jogcíme mely állandó kötethez van kötve, futtassa a következőt kubectl get pvc <persistent-volume-claim-name>: .

Lásd még