Tárolócsatlakozások használata az Azure Container Appsben
A tárolóalkalmazások különböző típusú tárolókhoz férhetnek hozzá. Ha szükséges, egyetlen alkalmazás több tárolási típust is kihasználhat.
Tárolási típus | Leírás | Kitartás | Használati példa |
---|---|---|---|
Tároló hatókörű tároló | Futó tároló számára elérhető rövid élettartamú tároló | Az adatok mindaddig elérhetők, amíg a tároló le nem áll | Helyi alkalmazásgyorsítótár írása. |
Replika hatókörű tároló | Rövid élettartamú tárolás a fájlok azonos replikában lévő tárolók közötti megosztásához | Az adatok addig érhetők el, amíg a replika le nem áll | A fő alkalmazástároló, amely egy oldalkocsis tároló által feldolgozott naplófájlokat ír. |
Azure Files | Állandó tárolás | Az adatok megmaradnak az Azure Filesban | Fájlok írása fájlmegosztásba, hogy az adatokat más rendszerek is elérhetővé tegyék. |
Rövid élettartamú tárolás
A tárolóalkalmazások ideiglenes adatokat olvashatnak és írhatnak a rövid élettartamú tárolóba. A rövid élettartamú tárolás tárolóra vagy replikára terjedhet ki. Az egyes replikák számára elérhető tároló hatókörű és replika hatókörű tárterület teljes mennyisége a replikához lefoglalt virtuális processzorok teljes mennyiségétől függ.
vCPU-k | Teljes rövid élettartamú tárterület |
---|---|
0,25 vagy alacsonyabb | 1 GB |
0,5 vagy alacsonyabb | 2 GiB |
1 vagy alacsonyabb | 4 GiB |
Több mint 1 | 8 GiB |
Tároló hatókörű tároló
A tárolók saját fájlrendszerbe írhatnak.
A tároló fájlrendszerének tárolása a következő jellemzőkkel rendelkezik:
- A tároló ideiglenes, és eltűnik, amikor a tároló leáll vagy újraindul.
- A tárolóba írt fájlok csak az aktuális tárolóban futó folyamatok számára láthatók.
Replika hatókörű tároló
A Kubernetesben az EmptyDir (üres könyvtár) értékének megfelelő rövid idejű, ideiglenes kötetet csatlakoztathat. Ez a tárterület egyetlen replikára van korlátozva. EmptyDir
Egy kötet használatával adatokat oszthat meg a tárolók között ugyanabban a replikában.
A replika hatókörű tároló jellemzői a következők:
- A fájlok a replika teljes élettartama alatt megmaradnak.
- Ha egy replikában lévő tároló újraindul, a kötet fájljai megmaradnak.
- A replika bármely init- vagy alkalmazástárolója csatlakoztathatja ugyanazt a kötetet.
- A tárolók több
EmptyDir
kötetet is csatlakoztathatnak.
A replika hatókörű tároló konfigurálásához először definiáljon egy kötetet EmptyDir
a változatban. Ezután definiáljon egy kötetcsatlakoztatást egy vagy több tárolóban a változatban.
Előfeltételek
Követelmény | Utasítások |
---|---|
Azure-fiók | Ha nem rendelkezik ilyen fiókkal, hozzon létre ingyenes fiókot. |
Azure Container Apps-környezet | Hozzon létre egy tárolóalkalmazás-környezetet. |
Konfiguráció
Amikor replika hatókörű tárolót konfigurál az Azure CLI használatával, yaML-definíciót kell használnia a tárolóalkalmazás létrehozásához vagy frissítéséhez.
Ha egy meglévő tárolóalkalmazást a replika hatókörű tároló használatára szeretne frissíteni, exportálja az alkalmazás specifikációját egy app.yaml nevű YAML-fájlba.
az containerapp show -n <APP_NAME> -g <RESOURCE_GROUP_NAME> -o yaml > app.yaml
Végezze el az alábbi módosításokat a tárolóalkalmazás specifikációjához.
- Adjon hozzá egy
volumes
tömböt atemplate
tárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik tömbbelvolumes
, adjon hozzá egy új kötetet a tömbhöz.- Ez
name
a kötet azonosítója. - Használja
EmptyDir
astorageType
.
- Ez
- A kötetet csatlakoztatni kívánt sablon minden tárolójában definiáljon egy kötetcsatlakoztatást a
volumeMounts
tárolódefiníció tömbjében.- Ez
volumeName
a tömbben definiáltvolumes
név. - A
mountPath
kötet csatlakoztatásának elérési útja a tárolóban.
- Ez
properties: managedEnvironmentId: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.App/managedEnvironments/<ENVIRONMENT_NAME> configuration: activeRevisionsMode: Single template: containers: - image: <IMAGE_NAME1> name: my-container-1 volumeMounts: - mountPath: /myempty volumeName: myempty - image: <IMAGE_NAME_2> name: my-container-2 volumeMounts: - mountPath: /myempty volumeName: myempty volumes: - name: myempty storageType: EmptyDir
- Adjon hozzá egy
Frissítse a tárolóalkalmazást a YAML-fájl használatával.
az containerapp update --name <APP_NAME> --resource-group <RESOURCE_GROUP_NAME> \ --yaml app.yaml
A teljes példáért tekintse meg a YAML specifikációját .
Replika hatókörű kötet létrehozásához és tárolóba való csatlakoztatásához hajtsa végre a következő módosításokat a tárolóalkalmazások erőforrásán egy ARM-sablonban:
- Adjon hozzá egy
volumes
tömböt atemplate
tárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik tömbbelvolumes
, adjon hozzá egy új kötetet a tömbhöz.- Ez
name
a kötet azonosítója. - Használja
EmptyDir
astorageType
.
- Ez
- A kötetet csatlakoztatni kívánt sablon minden tárolójában definiáljon egy kötetcsatlakoztatást a
volumeMounts
tárolódefiníció tömbjében.- Ez
volumeName
a tömbben definiáltvolumes
név. - A
mountPath
kötet csatlakoztatásának elérési útja a tárolóban.
- Ez
Példa ARM-sablonrészletre:
{
"apiVersion": "2022-03-01",
"type": "Microsoft.App/containerApps",
"name": "[parameters('containerappName')]",
"location": "[parameters('location')]",
"properties": {
...
"template": {
"revisionSuffix": "myrevision",
"containers": [
{
"name": "main",
"image": "[parameters('container_image')]",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"volumeMounts": [
{
"mountPath": "/myempty",
"volumeName": "myempty"
}
]
},
{
"name": "sidecar",
"image": "[parameters('sidecar_image')]",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"volumeMounts": [
{
"mountPath": "/myempty",
"volumeName": "myempty"
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 3
},
"volumes": [
{
"name": "myempty",
"storageType": "EmptyDir"
}
]
}
}
}
A teljes példáért tekintse meg az ARM-sablon API-specifikációját .
Replika hatókörű kötet létrehozásához és tárolóba való csatlakoztatásához helyezze üzembe a tárolóalkalmazás új változatát az Azure Portalon.
Az Azure Portalon keresse meg a tárolóalkalmazást.
A bal oldali menüben válassza a Korrektúrakezelés lehetőséget.
Válassza az Új változat létrehozása lehetőséget.
Válassza ki azt a tárolót, amelyhez csatlakoztatni szeretné a kötetet.
A Tárolókörnyezet szerkesztése panelen válassza a Kötet csatlakoztatása lapot.
A Rövid élettartamú tárolás szakaszban hozzon létre egy új kötetet az alábbi információkkal.
- Kötet neve: A rövid élettartamú kötet neve.
- Csatlakoztatási útvonal: A tároló abszolút elérési útja a kötet csatlakoztatásához.
A módosítások mentéséhez és a környezeti panelről való kilépéshez válassza a Mentés lehetőséget.
Válassza a Létrehozás lehetőséget az új változat létrehozásához.
Azure Files-kötet
Egy fájlmegosztást az Azure Filesból kötetként csatlakoztathat egy tárolóhoz.
Az Azure Files Storage a következő jellemzőkkel rendelkezik:
- A csatlakoztatási hely alatt írt fájlok megmaradnak a fájlmegosztásban.
- A megosztásban lévő fájlok a csatlakoztatási helyen keresztül érhetők el.
- Több tároló is csatlakoztathatja ugyanazt a fájlmegosztást, beleértve azokat is, amelyek egy másik replikában, változatban vagy tárolóalkalmazásban találhatók.
- A megosztást csatlakoztató tárolók bármely más tároló vagy metódus által írt fájlokat érhetnek el.
- Egynél több Azure Files-kötet csatlakoztatható egyetlen tárolóban.
Az Azure Files SMB és NFS protokollokat is támogat. Az Azure Files-megosztásokat bármelyik protokoll használatával csatlakoztathatja. A környezetben definiált fájlmegosztást a tárfiók fájlmegosztása által használt protokollal kell konfigurálni.
Feljegyzés
Az NFS-megosztások Azure Container Appsben való csatlakoztatásának támogatása előzetes verzióban érhető el.
Ha engedélyezni szeretné az Azure Files-tárolót a tárolóban, az alábbiak szerint kell beállítania a környezetet és a tárolóalkalmazást:
- Hozzon létre egy tárolódefiníciót a Container Apps-környezetben.
- Ha NFS-t használ, a környezetet egyéni virtuális hálózattal kell konfigurálni, a tárfiókot pedig úgy kell konfigurálni, hogy engedélyezze a virtuális hálózatról való hozzáférést. További információ: NFS-fájlmegosztások az Azure Filesban .
- Ha a környezet egyéni virtuális hálózattal van konfigurálva, engedélyeznie kell a 445-ös és a 2049-as portot az alhálózathoz társított hálózati biztonsági csoportban (NSG).
- Típuskötet
AzureFile
(SMB) vagyNfsAzureFile
(NFS) meghatározása egy változatban. - Mennyiségi csatlakoztatás definiálása egy vagy több tárolóban a változatban.
- A használt Azure Files-tárfióknak elérhetőnek kell lennie a tárolóalkalmazás virtuális hálózatáról. További információ: Hozzáférés biztosítása virtuális hálózatról.
- Ha NFS-t használ, a biztonságos átvitelt is le kell tiltania. További információ: NFS-fájlmegosztások az Azure Filesban és az NFS Azure-fájlmegosztás létrehozása szakasz ebben az oktatóanyagban.
Előfeltételek
Követelmény | Utasítások |
---|---|
Azure-fiók | Ha nem rendelkezik ilyen fiókkal, hozzon létre ingyenes fiókot. |
Azure Storage-fiók | Tárfiók létrehozása. |
Azure Container Apps-környezet | Hozzon létre egy tárolóalkalmazás-környezetet. |
Konfiguráció
Amikor konfigurál egy tárolóalkalmazást egy Azure Files-kötet Azure CLI-vel való csatlakoztatásához, yaML-definíciót kell használnia a tárolóalkalmazás létrehozásához vagy frissítéséhez.
Az SMB-fájlmegosztások csatlakoztatásával kapcsolatos részletes oktatóanyagért tekintse meg az Azure Files storage-csatlakoztatásának létrehozását az Azure Container Appsben.
Adjon hozzá egy tárolódefiníciót a Container Apps-környezethez.
az containerapp env storage set --name my-env --resource-group my-group \ --storage-name mystorage \ --storage-type AzureFile \ --azure-file-account-name <STORAGE_ACCOUNT_NAME> \ --azure-file-account-key <STORAGE_ACCOUNT_KEY> \ --azure-file-share-name <STORAGE_SHARE_NAME> \ --access-mode ReadWrite
Cserélje le és
<STORAGE_ACCOUNT_KEY>
írja be<STORAGE_ACCOUNT_NAME>
a tárfiók nevét és kulcsát. Cserélje le<STORAGE_SHARE_NAME>
a tárfiókban lévő fájlmegosztás nevére.Érvényes értékek a következőkre
ReadWrite
ésReadOnly
.--access-mode
Ha frissíteni szeretne egy meglévő tárolóalkalmazást egy fájlmegosztás csatlakoztatásához, exportálja az alkalmazás specifikációját egy app.yaml nevű YAML-fájlba.
az containerapp show -n <APP_NAME> -g <RESOURCE_GROUP_NAME> -o yaml > app.yaml
Végezze el az alábbi módosításokat a tárolóalkalmazás specifikációjához.
- Adjon hozzá egy
volumes
tömböt atemplate
tárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik tömbbelvolumes
, adjon hozzá egy új kötetet a tömbhöz.- Ez
name
a kötet azonosítója. AzureFile
SMB-hezstorageType
vagyNfsAzureFile
NFS-hez. Ennek az értéknek meg kell egyeznie a környezetben definiált tárolási típussal.- Ehhez
storageName
használja a környezetben definiált tároló nevét.
- Ez
- Az Azure Files Storage-hoz csatlakoztatni kívánt sablon minden tárolója esetében adjon meg egy kötetcsatlakoztatást a
volumeMounts
tárolódefiníció tömbjében.- Ez
volumeName
a tömbben definiáltvolumes
név. - A
mountPath
kötet csatlakoztatásának elérési útja a tárolóban.
- Ez
properties: managedEnvironmentId: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.App/managedEnvironments/<ENVIRONMENT_NAME> configuration: template: containers: - image: <IMAGE_NAME> name: my-container volumeMounts: - volumeName: azure-files-volume mountPath: /my-files volumes: - name: azure-files-volume storageType: AzureFile storageName: mystorage
- Adjon hozzá egy
Frissítse a tárolóalkalmazást a YAML-fájl használatával.
az containerapp update --name <APP_NAME> --resource-group <RESOURCE_GROUP_NAME> \ --yaml app.yaml
A teljes példáért tekintse meg a YAML specifikációját .
Az alábbi ARM-sablonrészletek bemutatják, hogyan adhat hozzá Azure Files-megosztást egy Container Apps-környezethez, és hogyan használhatja azt egy tárolóalkalmazásban.
storages
Gyermekerőforrás hozzáadása a Container Apps-környezethez.{ "type": "Microsoft.App/managedEnvironments", "apiVersion": "2022-03-01", "name": "[parameters('environment_name')]", "location": "[parameters('location')]", "properties": { "daprAIInstrumentationKey": "[parameters('dapr_ai_instrumentation_key')]", "appLogsConfiguration": { "destination": "log-analytics", "logAnalyticsConfiguration": { "customerId": "[parameters('log_analytics_customer_id')]", "sharedKey": "[parameters('log_analytics_shared_key')]" } } }, "resources": [ { "type": "storages", "name": "myazurefiles", "apiVersion": "2022-03-01", "dependsOn": [ "[resourceId('Microsoft.App/managedEnvironments', parameters('environment_name'))]" ], "properties": { "azureFile": { "accountName": "[parameters('storage_account_name')]", "accountKey": "[parameters('storage_account_key')]", "shareName": "[parameters('storage_share_name')]", "accessMode": "ReadWrite" } } } ] }
Frissítse a tárolóalkalmazás erőforrását kötet- és kötetcsatlakoztatás hozzáadásához.
{ "apiVersion": "2023-05-01", "type": "Microsoft.App/containerApps", "name": "[parameters('containerappName')]", "location": "[parameters('location')]", "properties": { ... "template": { "revisionSuffix": "myrevision", "containers": [ { "name": "main", "image": "[parameters('container_image')]", "resources": { "cpu": 0.5, "memory": "1Gi" }, "volumeMounts": [ { "mountPath": "/myfiles", "volumeName": "azure-files-volume" } ] } ], "scale": { "minReplicas": 1, "maxReplicas": 3 }, "volumes": [ { "name": "azure-files-volume", "storageType": "AzureFile", "storageName": "myazurefiles" } ] } } }
- Adjon hozzá egy
volumes
tömböt atemplate
tárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik tömbbelvolumes
, adjon hozzá egy új kötetet a tömbhöz.- Ez
name
a kötet azonosítója. AzureFile
SMB-hezstorageType
vagyNfsAzureFile
NFS-hez. Ennek az értéknek meg kell egyeznie a környezetben definiált tárolási típussal.- Ehhez
storageName
használja a környezetben definiált tároló nevét.
- Ez
- Az Azure Files Storage-hoz csatlakoztatni kívánt sablon minden tárolója esetében adjon meg egy kötetcsatlakoztatást a
volumeMounts
tárolódefiníció tömbjében.- Ez
volumeName
a tömbben definiáltvolumes
név. - A
mountPath
kötet csatlakoztatásának elérési útja a tárolóban.
- Ez
- Adjon hozzá egy
A teljes példáért tekintse meg az ARM-sablon API-specifikációját .
Az Azure Files Storage mennyiségi csatlakoztatásának konfigurálásához az Azure Portalon adjon hozzá egy fájlmegosztást a Container Apps-környezethez, majd adjon hozzá egy kötetcsatlakoztatást a tárolóalkalmazáshoz egy új változat létrehozásával.
Az Azure Portalon navigáljon a Container Apps-környezethez.
Válassza ki az Azure Filest a bal oldali menüből.
Válassza a Hozzáadás lehetőséget.
A Fájlmegosztás hozzáadása helyi menüben adja meg a következő információkat:
- Név: A fájlmegosztás neve.
- Tárfiók neve: A fájlmegosztást tartalmazó tárfiók neve.
- Tárfiók kulcsa: A tárfiók hozzáférési kulcsa.
- Fájlmegosztás: A fájlmegosztás neve.
- Hozzáférési mód: A fájlmegosztás hozzáférési módja. Az érvényes értékek az "Olvasás/Írás" és a "Csak olvasás".
Válassza a Hozzáadás lehetőséget a környezeti panelről való kilépéshez.
A módosítások véglegesítéséhez válassza a Mentés lehetőséget.
Lépjen a tárolóalkalmazáshoz.
A bal oldali menüben válassza a Korrektúrakezelés lehetőséget.
Válassza az Új változat létrehozása lehetőséget.
Válassza ki azt a tárolót, amelyhez csatlakoztatni szeretné a kötetet.
A Tárolókörnyezet szerkesztése panelen válassza a Kötet csatlakoztatása lapot.
A Fájlmegosztások szakaszban hozzon létre egy új kötetet az alábbi információkkal.
- Fájlmegosztás neve: A hozzáadott fájlmegosztás.
- Csatlakoztatási útvonal: A tároló abszolút elérési útja a kötet csatlakoztatásához.
A módosítások mentéséhez és a környezeti panelről való kilépéshez válassza a Mentés lehetőséget.
Válassza a Létrehozás lehetőséget az új változat létrehozásához.