Share via


Az Azure Container Storage előzetes verziójának használata felügyelt Azure-lemezekkel

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 úgy, hogy az Azure által felügyelt lemezeket háttértárként használja a Kubernetes számítási feladataihoz. A végén lesz egy pod, amely az Azure által felügyelt lemezeket használja tárolóként.

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 azure-beli felügyelt lemezekkel való használatához az AKS-fürtnek rendelkeznie kell legalább három általános célú virtuális géppel, például standard_d4s_v5 a fürtcsomópontokhoz, amelyek mindegyike legalább négy virtuális processzorral (vCPU-val) rendelkezik.

Régiónkénti rendelkezésre állás

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) Németország nyugati középső régiója
  • (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. Ha már kiépített Azure-beli felügyelt lemezekkel rendelkezik, létrehozhat egy előre kiépített tárolókészletet ezekkel a lemezekkel.

Fontos

Ha saját kulcsokkal szeretné titkosítani a köteteket a Microsoft által felügyelt kulcsok helyett, ne hozza létre a tárkészletet az ebben a szakaszban leírt lépések végrehajtásával. Ehelyett lépjen a kiszolgálóoldali titkosítás engedélyezése ügyfél által felügyelt kulcsokkal , és kövesse az ott leírt lépéseket.

Az alábbi lépéseket követve hozzon létre egy tárolókészletet az Azure Disks számára.

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

  2. Másolja be a következő kódot. A tárolókészlet névértéke tetszőleges lehet. Az skuName esetében adja meg a teljesítmény és a redundancia szintjét. Az elfogadható értékek a következők: Premium_LRS, Standard_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, PremiumV2_LRS és StandardSSD_ZRS. A tároláshoz adja meg a készlet tárolókapacitását a Giben vagy a Ti-ben. Mentse a fájlt.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: azuredisk
      namespace: acstor
    spec:
      poolType:
        azureDisk:
          skuName: Premium_LRS
      resources:
        requests:
          storage: 1Ti
    
  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/azuredisk 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 az azuredisk.

    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.

Előre kiosztott tárolókészlet létrehozása

Ha már kiépített Azure-beli felügyelt lemezekkel rendelkezik, létrehozhat egy előre kiépített tárolókészletet ezekkel a lemezekkel. Mivel a lemezek már ki vannak építve, a tárolókészlet létrehozásakor nem kell megadnia a termékváltozatnevet vagy a tárkapacitást.

Ezeket a lépéseket követve hozzon létre egy előre kiépített tárolókészletet az Azure Disks számára.

  1. Jelentkezzen be az Azure Portalra.

  2. Minden használni kívánt lemezhez lépjen az Azure-beli felügyelt lemezre, és válassza a Gépház> Properties lehetőséget. Másolja a teljes sztringet az Erőforrás-azonosító alá, és helyezze egy szövegfájlba.

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

  4. Másolja be a következő kódot. A tárolókészlet névértéke tetszőleges lehet. Cserélje le <resource-id> az egyes felügyelt lemezek erőforrás-azonosítójára. Mentse a fájlt.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: sp-preprovisioned
      namespace: acstor
    spec:
      poolType:
        azureDisk:
          disks:
            - reference <resource-id1>
            - reference <resource-id2>
    
  5. 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/sp-preprovisioned 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 sp-preprovisioned lesz.

    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.

Kiszolgálóoldali titkosítás engedélyezése ügyfél által felügyelt kulcsokkal

Ha már létrehozott egy tárolókészletet, vagy inkább az alapértelmezett Microsoft által felügyelt titkosítási kulcsokat szeretné használni, hagyja ki ezt a szakaszt, és folytassa az elérhető tárosztályok megjelenítésével.

Az Azure Storage-fiókban lévő összes adat titkosítva van. Alapértelmezés szerint az adatok a Microsoft által felügyelt kulcsokkal lesznek titkosítva. A titkosítási kulcsok nagyobb mértékű szabályozásához megadhatja az ügyfél által felügyelt kulcsokat (CMK) az Azure Disk-tárolókészletből létrehozott állandó kötetek titkosításához.

A saját kulcs használatához rendelkeznie kell egy Kulccsal rendelkező Azure Key Vaulttal . A Key Vaultnak engedélyeznie kell a kiürítési védelmet, és az Azure RBAC engedélymodellt kell használnia. További információ az ügyfél által felügyelt kulcsokról Linuxon.

A tárolókészlet létrehozásakor meg kell adnia a CMK-paramétereket. A szükséges CMK-titkosítási paraméterek a következők:

  • A keyVersion a használni kívánt kulcs verzióját adja meg
  • keyName a kulcs neve
  • A keyVaultUri az Azure Key Vault egységes erőforrás-azonosítója, például https://user.vault.azure.net
  • Az identitás egy felügyelt identitást határoz meg, amelyhez hozzáférés van a tárolóhoz, például /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourcegroups/MC_user-acstor-westus2-rg_user-acstor-westus2_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/user-acstor-westus2-agentpool

Ezeket a lépéseket követve hozzon létre egy tárolókészletet a saját titkosítási kulcsával. A tárolókészletből létrehozott összes állandó kötetet ugyanazzal a kulccsal titkosítja a rendszer.

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

  2. Illessze be a következő kódot, adja meg a szükséges paramétereket, és mentse a fájlt. A tárolókészlet névértéke tetszőleges lehet. Az skuName esetében adja meg a teljesítmény és a redundancia szintjét. Az elfogadható értékek a következők: Premium_LRS, Standard_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, PremiumV2_LRS és StandardSSD_ZRS. A tároláshoz adja meg a készlet tárolókapacitását a Giben vagy a Ti-ben. Mindenképpen adja meg a CMK titkosítási paramétereit.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: azuredisk
      namespace: acstor
    spec:
      poolType:
        azureDisk:
          skuName: Premium_LRS
          encryption: {
            keyVersion: "<key-version>",
            keyName: "<key-name>",
            keyVaultUri: "<key-vault-uri>",
            identity: "<identity>"
          }
      resources:
        requests:
          storage: 1Ti
    
  3. Alkalmazza a YAML-jegyzékfájlt a tárolókészlet létrehozásához.

    kubectl apply -f acstor-storagepool-cmk.yaml 
    

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

    storagepool.containerstorage.azure.com/azuredisk 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 az azuredisk.

    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.

Á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: azurediskpvc
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: acstor-azuredisk # 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/azurediskpvc created
    

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

    kubectl describe pvc azurediskpvc
    

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: azurediskpv
          persistentVolumeClaim:
            claimName: azurediskpvc
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: azurediskpv
    
  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 azurediskpvc
    
  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 az Azure Diskst 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>: .

Tárkészlet kibontása

Az Azure Disks á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.

Feljegyzés

A tárolókészlet bővítése növelheti az Azure Container Storage és az Azure Disks költségeit. Tekintse meg az Azure Container Storage díjszabási oldalát.

Az alábbi utasításokat követve bővítheti az Azure Disks meglévő tárolókészletét.

  1. Egy szövegszerkesztővel nyissa meg a tárkészlet létrehozásához használt YAML-jegyzékfájlt, például code acstor-storagepool.yaml.

  2. Cserélje le a YAML-jegyzékfájlban megadott tárbejegyzést a kívánt értékre. Ennek az értéknek nagyobbnak kell lennie, mint a tárolókészlet jelenlegi kapacitása. Ha például a specifikáció be van állítva storage: 1Ti, módosítsa a következőre storage: 2Ti: . Ha előre kiosztott tárolókészletet hozott létre, nem lesz tárolóbejegyzés , mert a tárolókészlet örökölte a kapacitás méretét az előre kiosztott Azure-lemezektől. Ha nem jelenik meg tárbejegyzés a YAML-ben, adja hozzá a következő kódot a kívánt tárkapacitás megadásához, majd mentse a jegyzékfájlt:

    spec:
      resources:
        requests:
          storage: 2Ti
    
  3. Alkalmazza a YAML-jegyzékfájlt a tárolókészlet kibontásához.

    kubectl apply -f acstor-storagepool.yaml 
    
  4. Futtassa ezt a parancsot a tárolókészlet állapotának ellenőrzéséhez. Cserélje le <storage-pool-name> a tárolókészlet névértékére .

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

    A következő üzenetnek kell megjelennie: "A tárkészlet bővül". Néhány perc múlva futtassa újra a parancsot, és az üzenetnek el kell tűnnie.

  5. Futtassa kubectl get sp -A , és a tárolókészletnek tükröznie kell az új méretet.

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>

Lásd még