Az Azure Functionst üzemeltető Azure Container Apps
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 KEDA beépített támogatásával.
A függvénykódot bármilyen , a Functions által támogatott nyelvi veremben megírhatja. 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 Alkalmazás Elemzések 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.
A Használat számítási feladat profil az alapértelmezett profil, amely minden számítási feladatprofil-környezettípushoz hozzáadva van. 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ásnak nincsenek konkrét hardverkövetelményei, futtathatja a környezetet egy használatalapú csomagban vagy egy dedikált csomagban az alapértelmezett Használat számítási feladatprofil 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.
Függvények tárolókban
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, a --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 frissítenie kell a tároló alaprendszerképét 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ötelezett amellett, hogy havi frissítéseket tegyen közzé ezekhez az alaplemezképekhez. 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.
A függvénykód módosításakor újra kell építenie és újra közzé kell tennie a tárolólemezké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:
- Azure CLI
- Azure Portal
- GitHub-műveletek
- Azure Pipeline-feladatok
- ARM-sablonok
- Bicep-sablonok
- Azure Functions Core Tools
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.
Méretezési szabályok konfigurálása
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 csoportban lévő erőforrások nem szándékos vagy jogosulatlan módosítását vagy törlését, még a szolgáltatási alapelvek szerint 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 egy felügyelt erőforráscsoportot el szeretne távolítani egy környezetből, távolítsa el az összes függvényalkalmazás-tárolóerőforrást, és eltávolítja azOkat.
Ha problémákba ütközik ezekkel a felügyelt erőforráscsoportokkal kapcsolatban, forduljon az ügyfélszolgálathoz.
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:
- Bár az összes eseményindító használható, csak a következő eseményindítók skálázhatók dinamikusan (nulla példányból) a Container Apps-környezetben való futtatáskor:
- HTTP
- Azure Queue Storage
- Azure Service Bus
- Azure-eseményközpontok
- Kafka
- Időzítő
- 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álatakor a Kafka-eseményindító nem fogja tudni 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.
- Felügyelt identitásokat használhat eseményindító és kötési kapcsolatokhoz, valamint Azure Container Registry-alapú üzembe helyezésekhez is.
- Ha a függvényalkalmazás és az Azure Container Registry-alapú üzembe helyezés felügyelt identitásalapú kapcsolatokat használ, nem módosíthatja a processzor- és memóriafoglalási beállításokat a portálon. Ehelyett az Azure CLI-t kell használnia.
- 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 közzétett alkalmazásokat az Azure Arcon, futtassaaz extension list
, és győződjön meg arról, hogyappservice-kube
nincs telepítve. Ha igen, akkor a futtatássalaz extension remove -n appservice-kube
eltávolíthatja.