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 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 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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-storagepool.yaml
.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
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.
Jelentkezzen be az Azure Portalra.
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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-storagepool.yaml
.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>
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.
A kedvenc szövegszerkesztővel hozzon létre egy YAML-jegyzékfájlt, például
code acstor-storagepool-cmk.yaml
.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
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.
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: azurediskpvc spec: accessModes: - ReadWriteOnce storageClassName: acstor-azuredisk # 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/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 .
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: azurediskpv persistentVolumeClaim: claimName: azurediskpvc containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: azurediskpv
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 azurediskpvc
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.
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
.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őrestorage: 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
Alkalmazza a YAML-jegyzékfájlt a tárolókészlet kibontásához.
kubectl apply -f acstor-storagepool.yaml
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.
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>