Share via


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:

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 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 az appservice-kube Azure CLI-ben. Ha korábban közzétett alkalmazásokat az Azure Arcon, futtassa az extension list , és győződjön meg arról, hogy appservice-kube nincs telepítve. Ha igen, akkor a futtatással az extension remove -n appservice-kubeeltávolíthatja.

Következő lépések