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.
Az Azure Functions integrált támogatást nyújt a tárolóalapú függvényalkalmazások fejlesztéséhez, üzembe helyezéséhez és kezeléséhez az Azure Container Appsben. Az Azure Container Apps használatával üzemeltetheti a függvényalkalmazás-tárolókat, amikor az eseményvezérelt függvényeket az Azure-ban kell futtatnia ugyanabban a környezetben, mint más mikroszolgáltatások, API-k, webhelyek, munkafolyamatok vagy bármely tároló által üzemeltetett program. A tárolóalkalmazások üzemeltetése lehetővé teszi a függvények teljes körűen felügyelt, Kubernetes-alapú környezetben való futtatását a nyílt forráskódú monitorozás, az mTLS, a Dapr és a Kubernetes eseményvezérelt automatikus skálázás (KEDA) beépített támogatásával.
A függvénykódot megírhatja bármilyen programozási környezetben, amelyet a Functions támogat. Ugyanazokat a Functions-eseményindítókat és kötéseket használhatja eseményvezérelt skálázással. A meglévő Functions-ügyféleszközökkel és az Azure Portallal tárolókat hozhat létre, függvényalkalmazás-tárolókat helyezhet üzembe a Container Appsben, és konfigurálhatja a folyamatos üzembe helyezést.
A Container Apps integrációja azt is jelenti, hogy a Container App környezeti szintjén definiált hálózati és megfigyelhetőségi konfigurációk ugyanúgy vonatkoznak a függvényalkalmazásra, mint a Container Apps-környezetben futó összes mikroszolgáltatásra. A Container Apps egyéb natív felhőbeli funkcióit is megkapja, beleértve a KEDA-t, a Dapr-t és az Envoyt. Továbbra is használhatja az Application Insightst a függvények végrehajtásának figyelésére, és a függvényalkalmazás hozzáférhet a környezet által biztosított virtuális hálózati erőforrásokhoz.
Az Azure Functions tároló-üzemeltetési lehetőségeinek általános áttekintését lásd: Linux-tárolók támogatása az Azure Functionsben.
Üzemeltetési és számítási feladatok profiljai
A Container Apps két elsődleges üzemeltetési csomaggal rendelkezik, egy kiszolgáló nélküli használati csomaggal és egy dedikált csomaggal, amelyek számítási feladatprofilokat használnak az üzembehelyezési erőforrások jobb szabályozásához. A számítási feladatok profilja határozza meg a környezetben üzembe helyezett tárolóalkalmazások számára elérhető számítási és memória-erőforrások mennyiségét. Ezek a profilok az alkalmazások különböző igényeinek megfelelően vannak konfigurálva.
The Consumption workload profile is the default profile added to every Workload profiles environment type. A környezet létrehozásakor vagy létrehozása után dedikált számítási feladatok profiljait is hozzáadhatja a környezethez. A számítási feladatok profiljaival kapcsolatos további információkért lásd : Számítási feladatok profiljai az Azure Container Appsben.
A tárolóalapú függvényalkalmazásokat üzemeltető Container Apps minden olyan régióban támogatott, amely támogatja a Container Apps szolgáltatást.
Ha az alkalmazásának nincsenek specifikus hardverkövetelményei, a környezetet futtathatja vagy egy fogyasztásalapú csomagban, vagy egy dedikált csomagban az alapértelmezett használati profil használatával. Ha függvényeket futtat a Container Appsben, csak a Container Apps használatáért kell fizetnie. További információkért tekintse meg az Azure Container Apps díjszabási oldalát.
Az Azure Functions az Azure Container Appsben támogatja a GPU-kompatibilis üzemeltetést a dedikált csomagban számítási feladatprofilokkal.
Ha tudni szeretné, hogyan hozhat létre és helyezhet üzembe függvényalkalmazás-tárolót a Container Appsben az alapértelmezett használati csomagban, olvassa el az első tárolóalapú függvények létrehozása az Azure Container Appsben című témakört.
Ha tudni szeretné, hogyan hozhat létre Egy Container Apps-környezetet számítási feladatprofilokkal, és hogyan helyezhet üzembe egy függvényalkalmazás-tárolót egy adott számítási feladatra, tekintse meg a Container Apps számítási feladatprofiljait.
Functions in containers
A Container Apps üzemeltetéséhez a kódnak egy függvényalkalmazáson kell futnia egy Olyan Linux-tárolóban, amelyet ön hoz létre és tart fenn. A Functions a tárolóalapú függvényalkalmazások létrehozásához használható nyelvspecifikus alaprendszerképeket tart fenn.
Amikor kódprojektet hoz létre az Azure Functions Core Tools használatával, és belefoglalja a lehetőséget--docker
Core Tools létrehozza a Dockerfile-t a megfelelő alaprendszerképpel, amelyet kiindulási pontként használhat a tároló létrehozásakor.
Fontos
Saját tárolók létrehozásakor a tároló alaprendszerképét frissítenie kell a legújabb támogatott alaprendszerképre. Az Azure Functions támogatott alaprendszerképei nyelvspecifikusak, és az Azure Functions alaprendszerkép-adattárában találhatók.
A Functions csapata elkötelezte magát amellett, hogy havi frissítéseket tegyen közzé ezekhez az alapvető képfájlokhoz. A rendszeres frissítések közé tartoznak a legújabb alverziófrissítések és biztonsági javítások mind a Functions-futtatókörnyezethez, mind a nyelvekhez. Rendszeresen frissítenie kell a tárolót a legújabb alaprendszerképről, és újból üzembe kell helyeznie a tároló frissített verzióját. További információkért lásd: Egyéni tárolók karbantartása.
Amikor módosítja a függvénykódját, újra kell építenie és újra közzé kell tennie a konténerképet. További információ: Rendszerkép frissítése a beállításjegyzékben.
Telepítési beállítások
Az Azure Functions jelenleg a következő módszereket támogatja a tárolóalapú függvényalkalmazások Azure Container Appsben való üzembe helyezéséhez:
- Apache Maven
- ARM-sablonok
- Azure CLI
- Azure Developer CLI (azd)
- Azure Functions Core Tools
- Azure Pipeline-feladatok
- Azure portál
- Bicep files
- GitHub-műveletek
- Visual Studio Code
A tárolóalapú alkalmazásokat folyamatosan üzembe helyezheti a forráskódból az Azure Pipelines vagy a GitHub Actions használatával. A Functions folyamatos üzembe helyezési funkciója jelenleg nem támogatott a Container Appsben való üzembe helyezéskor.
Kezelt identitás jogosultsága
A legjobb biztonság érdekében microsoft Entra-hitelesítéssel és felügyelt identitás-engedélyezéssel kell csatlakoznia a távoli szolgáltatásokhoz. A felügyelt identitásokat a következő kapcsolatokhoz használhatja:
A Container Appsben való futtatáskor a Microsoft Entra ID-t felügyelt identitásokkal használhatja a felügyelt identitásokat támogató összes kötésbővítményhez. Jelenleg csak ezek a kötésbővítmények támogatják az eseményvezérelt skálázást felügyelt identitáshitelesítés használatakor:
- Azure-eseményközpontok
- Azure Queue Storage
- Azure Service Bus
Más kötések esetén rögzített replikákat használjon felügyelt identitáshitelesítés használatakor. További információkért tekintse meg a Functions fejlesztői útmutatóját.
Virtuális hálózat integrációja
Ha a függvényalkalmazásokat Container Apps-környezetben üzemelteti, a függvények a belső és a külsőleg elérhető virtuális hálózatok előnyeit is kihasználhatják. A környezeti hálózatokkal kapcsolatos további információkért lásd: Hálózatkezelés az Azure Container Apps-környezetben.
Eseményvezérelt skálázás
Minden Függvény-eseményindító használható a tárolóalapú függvényalkalmazásban. Azonban csak ezek az eseményindítók skálázhatók dinamikusan (nulla példányból) a fogadott események alapján, amikor egy Container Apps-környezetben futnak:
- Azure Event Grid
- Azure-eseményközpontok
- Azure Blob Storage (eseményalapú)
- Azure Queue Storage
- Azure Service Bus
- Durable Functions (MSSQL storage provider)
- HTTP
- Kafka
- Időzítő
Az Azure Functions a Container Appsben az eseménycélnak megfelelően konfigurálja a méretezési paramétereket és szabályokat. Nem kell aggódnia a KEDA-skálázott objektumok konfigurálása miatt. A függvényalkalmazás létrehozásakor vagy módosításakor továbbra is beállíthatja a minimális és maximális replikaszámot. Az alábbi Azure CLI-parancs beállítja a minimális és maximális replikaszámot, amikor új függvényalkalmazást hoz létre egy Container Apps-környezetben egy Azure Container Registryből:
az functionapp create --name <APP_NAME> --resource-group <MY_RESOURCE_GROUP> --max-replicas 15 --min-replicas 1 --storage-account <STORAGE_NAME> --environment MyContainerappEnvironment --image <LOGIN_SERVER>/azurefunctionsimage:v1 --registry-username <USERNAME> --registry-password <SECURE_PASSWORD> --registry-server <LOGIN_SERVER>
A következő parancs egy meglévő függvényalkalmazás minimális és maximális replikaszámát állítja be:
az functionapp config container set --name <APP_NAME> --resource-group <MY_RESOURCE_GROUP> --max-replicas 15 --min-replicas 1
Felügyelt erőforráscsoportok
Az Azure Functions on Container Apps speciálisan felügyelt erőforráscsoportokban futtatja a tárolóalapú függvényalkalmazás erőforrásait. Ezek a felügyelt erőforráscsoportok segítenek megvédeni az alkalmazások konzisztenciáját azáltal, hogy megakadályozzák a felügyelt csoport erőforrásainak nem szándékos vagy jogosulatlan módosítását vagy törlését, még a szolgáltatásnevek által is.
A rendszer akkor hoz létre felügyelt erőforráscsoportot, amikor először hoz létre függvényalkalmazás-erőforrásokat egy Container Apps-környezetben. A tárolóalapú függvényalkalmazás által igényelt Container Apps-erőforrások ebben a felügyelt erőforráscsoportban futnak. Az ugyanabban a környezetben létrehozott egyéb függvényalkalmazások ezt a meglévő csoportot használják.
A felügyelt erőforráscsoport automatikusan törlődik, miután az összes függvényalkalmazás-tárolóerőforrás el lett távolítva a környezetből. Amíg a felügyelt erőforráscsoport látható, a felügyelt erőforráscsoport módosítására vagy eltávolítására tett kísérletek hibát eredményeznek. Ha el szeretne távolítani egy felügyelt erőforráscsoportot egy környezetből, távolítsa el az összes függvényalkalmazás-tárolóerőforrást, és azzal el lesz távolítva az erőforráscsoport is.
Ha problémákba ütközik ezekkel a felügyelt erőforráscsoportokkal kapcsolatban, forduljon az ügyfélszolgálathoz.
Application logging
A Container Appsben üzemeltetett tárolóalapú függvényalkalmazást az Azure Monitor Application Insights használatával ugyanúgy figyelheti, mint az Azure Functions által üzemeltetett alkalmazásokat. További információ: Az Azure Functions monitorozása.
For bindings that support event-driven scaling, scale events are logged as FunctionsScalerInfo
and FunctionsScalerError
events in your Log Analytics workspace. További információ: Alkalmazásnaplózás az Azure Container Appsben.
A Container Apps üzemeltetésével kapcsolatos szempontok
A függvényalkalmazás-tárolók Container Appsben való üzembe helyezésekor vegye figyelembe az alábbi szempontokat:
- Ezek a korlátozások a Kafka-eseményindítókra vonatkoznak:
- A protokoll értéke
ssl
nem támogatott a Container Appsben való üzemeltetéskor. Használjon másik protokollértéket. - Ahhoz, hogy egy Kafka-eseményindító dinamikusan skálázható legyen az Event Hubshoz való csatlakozáskor, a
username
tulajdonságnak egy olyan alkalmazásbeállításra kell feloldania, amely tartalmazza a tényleges felhasználónév értékét. Az alapértelmezett$ConnectionString
érték használata esetén a Kafka-eseményindító nem tudja dinamikusan skálázni az alkalmazást.
- A protokoll értéke
- A beépített Container Apps-szabályzatdefiníciók esetében jelenleg csak a környezeti szintű szabályzatok vonatkoznak az Azure Functions-tárolókra.
- A felügyelt identitásokat a következő kapcsolatokhoz használhatja:
- Alapértelmezés szerint egy tárolóalapú függvényalkalmazás figyeli a 80-at a bejövő kérések esetében. Ha az alkalmazásnak másik portot kell használnia, az
WEBSITES_PORT
alkalmazásbeállítással módosítsa ezt az alapértelmezett portot. - A Container Appsben való üzemeltetéskor jelenleg nem használhat beépített folyamatos üzembe helyezési funkciókat. Ehelyett a forráskódból kell üzembe helyeznie az Azure Pipelines vagy a GitHub Actions használatával.
- A Container Apps által üzemeltetett függvényalkalmazások központi telepítése jelenleg nem helyezhető át erőforráscsoportok vagy előfizetések között. Ehelyett újra létre kell hoznia a meglévő tárolóalapú alkalmazástelepítést egy új erőforráscsoportban, előfizetésben vagy régióban.
- A Container Apps használatakor nincs közvetlen hozzáférése az alacsonyabb szintű Kubernetes API-khoz.
- A
containerapp
bővítmény ütközik a bővítményrel azappservice-kube
Azure CLI-ben. Ha korábban alkalmazásokat tett közzé az Azure Arcra, futtassaaz extension list
, és győződjön meg arról, hogyappservice-kube
nincs telepítve. Ha igen, akkor aaz extension remove -n appservice-kube
futtatásával eltávolíthatja.