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 aaz 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 helyi NVMe-vel
- Tárolókészlet létrehozása ideiglenes SSD-vel
- Tárolókészlet létrehozása helyi NVMe-vel és replikációval
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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-storagepool.yaml
.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: {}
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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-storagepool.yaml
.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
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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-pod.yaml
.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
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
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
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.
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 parancsotkubectl 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
Futtassa
kubectl get nodes
, és látni fogja, hogy egy csomópont lett hozzáadva a fürthöz.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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-storagepool.yaml
.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
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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-pvc.yaml
.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
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 .
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-pod.yaml
.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
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
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
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>
: .