Tárolótároló-illesztő (CSI) illesztőprogramok használata az Azure Kubernetes Service-ben (AKS)

A tárolóalapú tárolási interfész (Container Storage Interface, CSI) a tetszőleges blokk- és fájltárolási rendszereknek a Kubernetes tárolóalapú számítási feladatai számára történő elérhetővé tételére vonatkozó szabvány. A CSI használatakor az Azure Kubernetes Service (AKS) írhat, helyezhet üzembe és iterálhat beépülő modulokat a Kubernetes új vagy meglévő tárolórendszereinek fejlesztése érdekében anélkül, hogy hozzá kellene nyúlnia az alapvető Kubernetes-kódhoz, és várnia kellene a kiadási ciklusokra.

Az AKS CSI-tárolóillesztő támogatása lehetővé teszi az Azure Disks, az Azure Files vagy az Azure Blob Storage állandó tárként való használatát az AKS-en futó alkalmazásokhoz.

Tipp.

Ha teljes körűen felügyelt megoldást szeretne az adatok blokkszintű elérésére, fontolja meg az Azure Container Storage használatát CSI-illesztőprogramok helyett. Az Azure Container Storage integrálható a Kubernetes szolgáltatással, így dinamikusan kiépítheti az állandó köteteket az állapotalapú alkalmazásokhoz a Kubernetes-fürtökön.

Fontos

A Kubernetes 1.26-os verziójától kezdve a fán belüli állandó kötettípusok kubernetes.io/azure-diskkubernetes.io/azure-file elavultak, és már nem támogatottak. A faalapú illesztőprogramok a központi Kubernetes-kód részét képező tárolóillesztőkre vonatkoznak, amelyek ellentétben állnak a CSI-illesztőprogramokkal, amelyek beépülő modulok.

Az elavulásuk ellenére az illesztőprogramok eltávolítása nem tervezett, azonban migrálni kell a megfelelő CSI-illesztőprogramokra disk.csi.azure.com és file.csi.azure.com. A tárolási osztályok áttelepítési beállításainak áttekintéséhez és a fürt Azure Disks és Azure Files CSI-illesztőprogramok használatára való frissítéséhez lásd : Migrálás a fáról a CSI-illesztőprogramokra.

Ha in-tree driver tárolóosztályokat hozott létre, ezek a tárolóosztályok továbbra is működnek, mivel a fürt 1.21.x-re való frissítése után a CSI migráció be van kapcsolva. Ha CSI-funkciókat szeretne használni, végre kell hajtania az átállást.

Az Azure Disks CSI-illesztőprogram ismertetése

Az Azure Disks CSI-illesztőprogram az AKS által az Azure Disk-erőforrások életciklusának kezeléséhez használt , a CSI specifikációnak megfelelő illesztőprogramja. Az Azure Disks CSI-illesztőprogrammal kubernetes DataDisk-erőforrást hozhat létre. A lemezek használhatják az Azure Premium Storage-ot, amelyet nagy teljesítményű SSD-k támogatnak, vagy az Azure Standard Storage-ot, amelyet normál HDD-k vagy Standard SSD-k támogatnak. A legtöbb éles és fejlesztési munkaterheléshez használja a Premium Storage szolgáltatást. Az Azure Disks ReadWriteOnce módon vannak csatlakoztatva, és csak egy AKS csomópont számára érhetőek el. Több csomóponttal egyszerre elérhető tárkötetek esetén használja az Azure Filest.

Az Azure Disks CSI-illesztőprogram funkciói

Az Azure Disk CSI-illesztőprogram a rendszerbe integrált illesztőprogram funkciói mellett a következő funkciókat is támogatja:

  • Teljesítménybeli fejlesztések az egyidejű lemez csatolási és leválasztási műveletek során.
    • A fába épített illesztőprogramok soros módon csatolják vagy leválasztják a lemezeket, míg a CSI-illesztőprogramok csoportosan csatolják vagy leválasztják a lemezeket. Jelentős javulás tapasztalható, ha több lemez csatlakozik egy csomóponthoz.
  • Prémium SSD v1 és v2.
    • PremiumV2_LRS csak a None gyorsítótárazási módot támogatja.
  • Zónaredundáns tárolás (ZRS) lemez támogatása.
    • Premium_ZRSlemeztípusok StandardSSD_ZRS támogatottak. A ZRS-lemez ütemezhető a zónán vagy a nem zónán kívüli csomóponton anélkül, hogy a lemezkötetet ugyanabban a zónában kellene áthelyezni, mint egy adott csomópontot. További információkért, beleértve a támogatott régiókat, tekintse meg a felügyelt lemezek zónaredundáns tárolását.
  • Állandó kötetről pillanatképet készíteni.
  • Kötet-klónok létrehozása.
  • Állandó kötetek átméretezése üzemszünet nélkül.

Megjegyzés

A használt virtuális gép (VM) termékváltozatától függően előfordulhat, hogy az Azure Disk CSI-illesztőprogram csomópontonkénti kötetkorláttal rendelkezik. Egyes nagy teljesítményű virtuális gépek (például 16 mag) esetében a korlát csomópontonként 64 kötet. A virtuálisgép-termékváltozatonkénti korlát azonosításához tekintse át az egyes kínált virtuálisgép-termékváltozatok Maximális adatlemezek oszlopát. A kínált virtuálisgép-termékváltozatok listáját és azok részletes kapacitáskorlátjait az általános célú virtuálisgép-méretek című témakörben találja.

Az Azure Files CSI-illesztőprogram ismertetése

Az Azure Files CSI-illesztőprogram az AKS által az Azure-fájlmegosztások életciklusának kezelésére használt CSI-specifikációnak megfelelő illesztőprogram. Az Azure Files CSI-illesztővel csatlakoztathat egy Azure Storage-fiók által támogatott SMB 3.0/3.1-megosztást a podokhoz. Az Azure Files segítségével több csomóponton és podon oszthat meg adatokat. Az Azure Files használhatja a normál HDD-k vagy a nagy teljesítményű SSD-k által támogatott Azure Premium Storage-t.

Az Azure Blob Storage CSI-illesztőprogram ismertetése

Az Azure Blob Storage CSI-illesztőprogram egy CSI specifikációnak megfelelő illesztőprogram, amelyet az AKS használ az Azure Blob Storage életciklusának kezelésére. Az Azure Blob Storage CSI-illesztőprogramjával a blobtárolót (vagy objektumtárolót) fájlrendszerként csatlakoztathatja egy tárolóba vagy podba. A Blob Storage használatával a fürt olyan alkalmazásokat támogathat, amelyek nagy, strukturálatlan adatkészletekkel, például naplófájladatokkal, képekkel vagy dokumentumokkal, HPC-vel és másokkal dolgoznak. Emellett, ha adatokat foglal be az Azure Data Lake Storage-ba, közvetlenül csatlakoztathatja és használhatja őket az AKS-ben anélkül, hogy konfiguráljon egy másik köztes fájlrendszert.

Amikor fájlrendszerként csatlakoztatja az Azure Blob Storage-t egy tárolóhoz vagy podhoz, az lehetővé teszi a Blob Storage használatát több olyan alkalmazással, amelyek nagy mennyiségű strukturálatlan adatot dolgoznak fel, például:

  • Naplófájl adatok
  • Képek, dokumentumok és video- vagy hangstreamelés
  • Vészhelyreállítási adatok

Az alkalmazások blobfuse vagy hálózati fájlrendszer (NFS) 3.0 protokoll használatával férhetnek hozzá az objektumtároló adataihoz. Az Azure Blob Storage CSI-illesztőprogram bevezetése előtt az egyetlen lehetőség az volt, hogy manuálisan telepítsen egy nem támogatott illesztőprogramot, hogy hozzáférjen a Blob Storage-hoz az AKS-en futó alkalmazásból.

Az Azure Blob Storage CSI-illesztőprogram funkciói

  • Két beépített tárolási osztály: azureblob-fuse-premium_ és azureblob-nfs-premium.
  • A BlobFuse és a Network File System (NFS) 3.0-s verziója protokoll.

Előfeltételek

  • Telepítenie és konfigurálnia kell az Azure CLI 2.42-es vagy újabb verzióját. Keresse meg a verziót a az --version parancs használatával. A telepítéssel vagy frissítéssel kapcsolatban lásd: Az Azure CLI telepítése.
  • Ha a nyílt forráskódú CSI-tárolóillesztő telepítve van a fürtön, távolítsa el az Azure Storage CSI-illesztőprogram engedélyezése előtt.
  • Kövesse az alábbi lépéseket, ha korábban telepítette a NYÍLT FORRÁSKÓDÚ CSI Blob Storage-illesztőprogramot az Azure Blob Storage fürtről való eléréséhez.

    Megjegyzés

    Ha a blobfuse-proxy nincs engedélyezve a nyílt forráskódú illesztőprogram telepítése során, a nyílt forráskódú illesztőprogram eltávolítása megszakítja a meglévő blobfuse-csatlakoztatásokat. Az NFS-csatlakoztatások azonban változatlanok maradnak.

  • Az Azure Policy for AKS szabályzatdefiníciójának érvényesítéséhez a Kubernetes-fürtöknek a Container Storage Interface (CSI) illesztőprogramot StorageClasskell használniuk, engedélyeznie kell az Azure Policy bővítményt a fürtön. Egy meglévő fürtön való engedélyezéshez lásd: Learn Azure Policy for Kubernetes.

Támogatott lemeztitkosítási forgatókönyvek

A CSI-tárolóillesztők a következő forgatókönyveket támogatják:

Azure Disks CSI-tárolóillesztő engedélyezése meglévő AKS-fürtön

Engedélyezze az Azure Disks CSI-illesztőt egy meglévő fürtön a az aks update paraméterrel rendelkező --enable-disk-driver paranccsal. Az alábbi példa engedélyezi az Azure Disks CSI-illesztőt egy myAKSCluster nevű meglévő fürtben a myResourceGroup erőforráscsoportban:

Megjegyzés

A pillanatkép-vezérlőt az Azure Disks CSI-illesztővel egyidejűleg engedélyezheti, így pillanatképeket hozhat létre az állandó kötetekről. A pillanatkép-vezérlő engedélyezéséhez adja meg a --enable-snapshot-controller paramétert a parancsban.

az aks update --name myAKSCluster --resource-group myResourceGroup --enable-disk-driver

Az Azure Disks CSI-illesztőprogram engedélyezése néhány percet vesz igénybe. Miután a parancs lefutott, ellenőrizheti, hogy a kimenetben blobCsiDriver értéke true-re van-e állítva, ezzel igazolva, hogy az illesztőprogram engedélyezve van. Például:

"storageProfile": {
    "blobCsiDriver": {
        "enabled": true
    },

Azure Files CSI-tárolóillesztő engedélyezése egy meglévő AKS-fürtön

Engedélyezze az Azure Files CSI-illesztőt egy meglévő fürtön a az aks update paraméterrel rendelkező --enable-file-driver paranccsal. Az alábbi példa engedélyezi az Azure Files CSI-illesztőt egy myAKSCluster nevű meglévő fürtben a myResourceGroup erőforráscsoportban:

Megjegyzés

A pillanatkép-vezérlőt az Azure Files CSI-illesztővel egyidejűleg engedélyezheti, így pillanatképeket hozhat létre az állandó kötetekről. A pillanatkép-vezérlő engedélyezéséhez adja meg a --enable-snapshot-controller paramétert a parancsban.

az aks update --name myAKSCluster --resource-group myResourceGroup --enable-file-driver

Az Azure Files CSI-illesztőprogram engedélyezése néhány percet vesz igénybe. Miután a parancs lefutott, ellenőrizheti, hogy a kimenetben fileCsiDriver értéke true-re van-e állítva, ezzel igazolva, hogy az illesztőprogram engedélyezve van. Például:

"storageProfile": {
    "fileCsiDriver": {
        "enabled": true
    },

Azure Blob Storage CSI tároló-illesztőprogram engedélyezése egy meglévő AKS fürtön

Engedélyezze az Azure Blob Storage CSI-illesztőprogramot egy meglévő fürtön a az aks update paraméterrel rendelkező --enable-blob-driver paranccsal. Az alábbi példa engedélyezi az Azure Blob Storage CSI-illesztőprogramot egy myAKSCluster nevű meglévő fürtben a myResourceGroup erőforráscsoportban:

Megjegyzés

A pillanatkép-vezérlőt az Azure Blob Storage CSI-illesztővel egyidejűleg engedélyezheti, így pillanatképeket hozhat létre az állandó kötetekről. A pillanatkép-vezérlő engedélyezéséhez adja meg a --enable-snapshot-controller paramétert a parancsban.

az aks update --name myAKSCluster --resource-group myResourceGroup --enable-blob-driver

Az Azure Blob Storage CSI-illesztőprogramjának engedélyezése néhány percet vesz igénybe. Miután a parancs lefutott, ellenőrizheti, hogy a kimenetben blobCsiDriver értéke true-re van-e állítva, ezzel igazolva, hogy az illesztőprogram engedélyezve van. Például:

"storageProfile": {
    "blobCsiDriver": {
        "enabled": true
    },

Azure Disks CSI tároló-illesztőprogramjának letiltása meglévő AKS-fürtön

Tiltsa le az Azure Disks CSI-illesztőprogramot egy meglévő fürtön a az aks update paraméterrel rendelkező --disable-disk-driver paranccsal. Az alábbi példa letiltja az Azure Disks CSI-illesztőprogramot egy myAKSCluster nevű meglévő fürtben a myResourceGroup erőforráscsoportban:

Megjegyzés

A pillanatkép-vezérlő letiltásához adja meg a --disable-snapshot-controller paramétert a parancsban.

az aks update --name myAKSCluster --resource-group myResourceGroup --disable-disk-driver

A Azure Files CSI tároló-illesztőprogram letiltása a meglévő AKS-fürtön

Tiltsa le az Azure Files CSI-illesztőprogramot egy meglévő fürtön a az aks update paraméterrel rendelkező --disable-file-driver paranccsal. Az alábbi példa letiltja az Azure Files CSI-illesztőt egy myAKSCluster nevű meglévő fürtben a myResourceGroup erőforráscsoportban:

Megjegyzés

A pillanatkép-vezérlő letiltásához adja meg a --disable-snapshot-controller paramétert a parancsban.

az aks update --name myAKSCluster --resource-group myResourceGroup --disable-file-driver

Meglévő AKS-fürtön az Azure Blob Storage CSI tárolóillesztő letiltása

Tiltsa le az Azure Blob Storage CSI-illesztőprogramot egy meglévő fürtön a az aks update paraméterrel rendelkező --disable-blob-driver paranccsal. Az alábbi példa letiltja az Azure Blob Storage CSI-illesztőprogramot egy myAKSCluster nevű meglévő fürtben a myResourceGroup erőforráscsoportban:

Megjegyzés

A pillanatkép-vezérlő letiltásához adja meg a --disable-snapshot-controller paramétert a parancsban.

az aks update --name myAKSCluster --resource-group myResourceGroup --disable-blob-driver

Megjegyzés

A CSI-kötet törlésekor azt javasoljuk, hogy törölje a megfelelő PersistentVolumeClaim objektumot a PersistentVolume objektum helyett. A CSI-illesztőprogram külső kiépítési szolgáltatása reagál a PersistentVolumeClaim törlésére. A PVC újrahasznosítási szabályzata alapján az erőforrás-felelős kiadja a DeleteVolume hívást a CSI kötetmeghajtó parancsai ellen a kötet törléséhez. A PersistentVolume objektum ezután törlődik.

Következő lépés