Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Megjegyzés:
Ne használjon speciális karaktereket a kötetnevekben az üzembehelyezési hibák elkerülése érdekében. Egy elnevezett credentials.json kötet például egy speciális karaktert (.) tartalmaz, amely üzembe helyezési hibát eredményez.
| Tárolási típus | Leírás | Kitartás | Használati példa |
|---|---|---|---|
| Tárolóhoz tartozó tárolás | Futó konténer 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 naplófájlokat ír, amelyeket a sidecar tároló feldolgoz. |
| Azure Files | Állandó tárolás | Az adatok mentésre kerülnek az Azure Files rendszerben. | Fájlok írása fájlmegosztásba, hogy az adatokat más rendszerek is elérhetővé tegyék. |
Megjegyzés:
Azure Container Apps nem támogatja a fájlmegosztások csatolását Azure NetApp Files-ból vagy Azure Blob Storage-ból.
Rövid élettartamú tárolás
A tárolóalkalmazások ideiglenes adatokat olvashatnak és írhatnak a rövid élettartamú tárolóba. Az átmeneti tárolás korlátozódhat egy tárolóra vagy replikára. Az egyes replikák számára elérhető konténer-hatókörű és replika-hatókörű tárolás teljes mennyisége a replikának kiosztott virtuális processzorok teljes számától függ.
| vCPUs (virtuális processzor egységek) | Teljes ideiglenes 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 konténer fájlrendszer tárolásának a következő jellemzői vannak:
- A tároló ideiglenes, és eltűnik, amikor a tároló leáll vagy újraindul.
- Csak az aktuális tárolóban futó folyamatok láthatják a tárolóba írt fájlokat.
Replika hatókörű tárhely
A Kubernetesben az EmptyDir -nek (üres könyvtárnak) megfelelő ideiglenes kötetet csatlakoztathatja. 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 alapú tárolás a következő jellemzőkkel rendelkezik:
- 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 volument.
- A tárolók több
EmptyDirkötetet is csatlakoztathatnak.
A replika hatókörű tároló konfigurálásához először definiáljon a változatban egy EmptyDir kötetet. Ezt követően definiáljon egy kötetrögzítést egy vagy több tárolóban a verzióban.
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. |
| Felügyelt identitás konfigurálása | Győződjön meg arról, hogy a Container Apps-környezethez társított felügyelt identitás hozzá van rendelve a megfelelő szerepkörökhöz az Azure Files eléréséhez. |
Konfiguráció
Ha a replika hatókörű tárolót a Azure CLI használatával konfigurálja, a tárolóalkalmazás létrehozásához vagy frissítéséhez YAML-definíciót kell használnia.
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.yamlVégezze el az alábbi módosításokat a tárolóalkalmazás specifikációjához.
- Adjon hozzá egy
volumestömböt atemplatetárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik avolumestömbbel, adjon hozzá egy új kötetet a tömbhöz.- Ez
namea kötet azonosítója. - Használja
EmptyDirastorageType.
- Ez
- A kötetet csatlakoztatni kívánt sablon minden tárolójában definiáljon egy kötetcsatlakoztatást a
volumeMountstárolódefiníció tömbjében.- A
volumeNameavolumestömbben definiált név. - A
mountPathaz elérési út a tárolóban a kötet csatlakoztatásához.
- A
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
volumestömböt atemplatetárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik avolumestömbbel, adjon hozzá egy új kötetet a tömbhöz.- Ez
namea kötet azonosítója. - Használja
EmptyDirastorageType.
- Ez
- A kötetet csatlakoztatni kívánt sablon minden tárolójában definiáljon egy kötetcsatlakoztatást a
volumeMountstárolódefiníció tömbjében.- A
volumeNameavolumestömbben definiált név. - A
mountPathaz elérési út a tárolóban a kötet csatlakoztatásához.
- A
Példa ARM sablonrészlet:
{
"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 a Azure portál használatával.
A Azure portálon nyissa 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 szakasz alatt hozzon létre egy új kötetet a következő információkkal:
- Kötet neve: A rövid élettartamú kötet neve.
- Csatlakoztatási útvonal: A konténerben a kötet csatlakoztatásának abszolút útvonala.
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 Files szolgáltatásból kötetként csatlakoztathat egy konténerhez.
Azure Files tárolás 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óba.
Azure Files támogatja az SMB (kiszolgálói üzenetblokk) és az NFS (hálózati fájlrendszer) protokollokat is. A 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.
Az Azure Files tárolás engedélyezéséhez a tárolóban állítsa be a környezetét és a konténeralkalmazást az alábbiak szerint:
A Azure portálon nyissa meg a Container alkalmazást.
A bal oldali navigációs panel Beállítások csoportjában válassza a Storage-csatlakoztatások lehetőséget.
Innen hozzáadhat egy új csatlakoztatást:
- Válassza ki a tárolási típust (Azure Fájlmegosztás vagy Azure Blob).
- Adja meg a szükséges konfigurációt (tárfiók, megosztás neve, hozzáférési mód).
- Mentse a csatlakoztatást.
- Hozzon létre és helyezzen üzembe egy új változatot a tárolóalkalmazásban a módosítások alkalmazásához.
- 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 hozzáférést a virtuális hálózatról. További információ: NFS-fájlmegosztások Azure Files .
- 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.
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 csatlakoztatásához Azure CLI használatával, yaML-definícióval kell létrehoznia vagy frissítenie a tárolóalkalmazást.
Az SMB-fájlmegosztások csatlakoztatásával kapcsolatos részletes oktatóanyagért lásd: Azure Files-tároló csatlakoztatásának létrehozása Azure Container Apps.
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 ReadWriteCserélje le a
<STORAGE_ACCOUNT_NAME>és a<STORAGE_ACCOUNT_KEY>helyére írja be 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
--access-modeszámáraReadWriteésReadOnly.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.yamlVégezze el az alábbi módosításokat a tárolóalkalmazás specifikációjához.
- Adjon hozzá egy
volumestömböt atemplatetárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik avolumestömbbel, adjon hozzá egy új kötetet a tömbhöz.- Ez
namea kötet azonosítója. - Az SMB-hez használja a
storageType-t, az NFS-hez pedig aAzureFile-t. Ennek az értéknek meg kell egyeznie a környezetben definiált tárolási típussal. - A
storageNameesetében használja a környezetben definiált tároló nevét. - A
mountOptionscsatlakoztatási opciók vesszővel elválasztott sztringje. További információért lásd: Az Azure Files-ben a mountOptions beállítások használata. - A
secretslista a kötetbe csatlakoztatni kívánt titkos kulcsok listája. További információ: Titkos adatok csatolása egy kötethez.
- Ez
- A Azure Files tárolót csatlakoztatni kívánt sablon minden tárolója esetében definiáljon egy kötetcsatlakoztatást a tárolódefiníció
volumeMountstömbjében.- A
volumeNameavolumestömbben definiált név. - A
mountPathaz elérési út a tárolóban a kötet csatlakoztatásához. - Ez
subPatha csatlakoztatni kívánt kötet elérési útja. Ha nem adja meg ezt az értéket, a kötetgyökér csatlakoztatva van. További információkért, lásd: (#sub-path).
- A
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 subPath: my-sub-path 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.
storagesGyermekerő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", "subPath": "my-sub-path" } ] } ], "scale": { "minReplicas": 1, "maxReplicas": 3 }, "volumes": [ { "name": "azure-files-volume", "storageType": "AzureFile", "storageName": "myazurefiles" } ] } } }- Adjon hozzá egy
volumestömböt atemplatetárolóalkalmazás definíciójának szakaszához, és definiáljon egy kötetet. Ha már rendelkezik avolumestömbbel, adjon hozzá egy új kötetet a tömbhöz.- Ez
namea kötet azonosítója. - Az SMB-hez használja a
storageType-t, az NFS-hez pedig aAzureFile-t. Ennek az értéknek meg kell egyeznie a környezetben definiált tárolási típussal. - A
storageNameesetében használja a környezetben definiált tároló nevét. - A
mountOptionscsatlakoztatási opciók vesszővel elválasztott sztringje. További információért lásd: Az Azure Files-ben a mountOptions beállítások használata. - A
secretslista a kötetbe csatlakoztatni kívánt titkos kulcsok listája. További információ: Titkos adatok csatolása egy kötethez.
- Ez
- A Azure Files tárolót csatlakoztatni kívánt sablon minden tárolója esetében definiáljon egy kötetcsatlakoztatást a tárolódefiníció
volumeMountstömbjében.- A
volumeNameavolumestömbben definiált név. - A
mountPathaz elérési út a tárolóban a kötet csatlakoztatásához. - A
subPath(nem kötelező) a csatlakoztatni kívánt kötet elérési útja. Ha nem adja meg, a kötetgyökér kerül csatlakoztatásra. További információkért, lásd: (#sub-path).
- A
- Adjon hozzá egy
A teljes példáért tekintse meg az ARM-sablon API-specifikációját .
Ha a Azure portálon konfigurál egy kötetcsatlakoztatást Azure Files tárolóhoz, vegyen fel egy fájlmegosztást a Container Apps-környezetbe, majd adjon hozzá egy kötetcsatlakoztatást a tárolóalkalmazáshoz egy új változat létrehozásával.
A Azure portálon lépjen a Container Apps-környezethez.
A navigációs panel Beállítások csoportjában válassza a Kötet csatolásai lehetőséget.
Válassza a Hozzáadás lehetőséget.
A fájlmegosztás által használt protokolltól függően válassza a Kiszolgálói üzenetblokk (SMB) vagy a hálózati fájlrendszer (NFS) lehetőséget.
Fájlmegosztás hozzáadása környezeti panelen adja meg a következő adatokat:
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.
Nyissa meg a tárolóalkalmazást.
A navigációs panel Alkalmazás területén válassza a Változatok és replikák lehetőséget.
Válassza az Új változat létrehozása lehetőséget.
Az Új változat létrehozása és üzembe helyezése lapon válassza a Kötetek lapot.
Válassza a Hozzáadás lehetőséget.
A Kötet hozzáadása panelen állítsa be a következő értékeket.
- Volume típus: Azure fájlkötet.
- Név: Adjon meg egy kötetnevet.
- Fájlmegosztás neve: Válassza ki a korábban létrehozott fájlmegosztást.
- Csatlakoztatási beállítások: Igény szerint adjon meg egy vesszővel tagolt csatlakoztatási sztringet. További információért lásd: Az Azure Files-ben a mountOptions beállítások használata.
Válassza a Hozzáadás lehetőséget a környezeti panelről való kilépéshez.
Az új változat létrehozása és ismételt üzembe helyezése lapon válassza a Tároló lapot.
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 Kötet neve területen válassza ki a korábban létrehozott kötetet.
A csatlakoztatási útvonalban adja meg a tároló abszolút elérési útját a kötet csatlakoztatásához.
Az Részútvonal (nem kötelező) mezőbe írja be a csatolni kívánt kötet elérési útvonalát. Ha nem adja meg ezt az értéket, a kötetgyökér csatlakoztatva van. További információkért, lásd: (#sub-path).
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.
Alútvonal
Ha Azure Files fájlmegosztást csatol, megadhatja a csatolási útvonalat és az almappát is.
- Csatolási útvonal: Az elérési útvonal a konténerben, ahol a kötetet szeretné csatolni.
- Rész elérési út: A csatlakoztatni kívánt kötet elérési útja.
Az alútvonal megadása nem kötelező. Ha nem ad meg alelérési útvonalat, a kötetgyökér csatlakoztatva van.
A részelérési útvonal a kötetgyökértől kiinduló relatív útvonal. Ne kezdje az alelérési útvonalat a / taggal. Ha olyan alelérési útvonalat ad meg, amely a következővel /kezdődik, előfordulhat, hogy a tárolóalkalmazás nem indul el. Például my-volume-folder érvényes alútvonal, de /my-volume-folder nem.
Az al elérési út egy mappára vagy egy fájlra hivatkozhat a kötetben.
Ha az al elérési út egy mappára hivatkozik, a csatlakoztatási útvonalnak egy üres mappára kell hivatkoznia a tárolóban.
Ha az al elérési út egy fájlra hivatkozik, a csatlakoztatási útvonalnak olyan fájlra kell hivatkoznia, amely még nem létezik a tárolóban.
Tegyük fel például, hogy az alútvonal
my-volume-folder/my-volume-file.txt, a csatlakoztatási útvonal pedig az/my-container-folder/my-container-file.txt. A mappának/my-container-foldermár léteznie kell a tárolóban, de még nem kell tartalmaznia a fájltmy-container-file.txt.
A rendszer figyelmen kívül hagyja az alútvonalat záró perjeleket.