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 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.

Fontos

A függvényalkalmazások Azure Container Appsen való üzemeltetésének támogatása jelenleg előzetes verzióban érhető el.

A Container Apps-integráció lehetővé teszi, hogy a meglévő függvényprogramozási modell használatával függvénykódot írjon az Előnyben részesített programozási nyelvre vagy az Azure Functions által támogatott keretrendszerbe. A Functions-eseményindítók és kötések továbbra is eseményvezérelt skálázással lesznek lekérve. A Container Apps a mögöttes Azure Kubernetes Service (AKS) erejét használja, miközben megszünteti a Kubernetes API-kkal való munka összetettségét.

Ez az integráció azt is jelenti, hogy 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 hálózati és megfigyelhetőségi konfigurációk a Container App környezeti szintjén vannak definiálva, és a Container Apps-környezetben futó összes mikroszolgáltatásra vonatkoznak, beleértve a függvényalkalmazást is. 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 Elemzések függvények végrehajtását.

Ü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 függvénykódnak egy létrehozott és karbantartott Linux-tárolóban kell futnia. A Functions a tárolóalapú függvényalkalmazások létrehozásához használható nyelvspecifikus alaprendszerképeket tart fenn.

Amikor az Azure Functions Core Tools használatával hoz létre egy Functions-projektet, és belefoglalja a beállítást, 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:

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 Function on Container Apps speciálisan felügyelt erőforráscsoportokban futtatja a függvényezett tárolóerőforrásokat, ami segít megvédeni az alkalmazások konzisztenciáját azáltal, hogy megakadályozza a felhasználók, csoportok vagy szolgáltatáselvek által 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. Ez a felügyelt erőforráscsoport akkor jön létre, 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, és 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ó, a Container Appsben való futtatáskor csak a következő eseményindítók skálázhatók dinamikusan (nulla példányból):
    • HTTP
    • Azure Queue Storage
    • Azure Service Bus
    • Azure-eseményközpontok
    • Kafka*
    • Időzítő
      *A protokoll értéke ssl nem támogatott a Container Appsben való üzemeltetéskor. Használjon másik protokollértéket.
  • 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 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.
  • A Functions Dapr bővítmény szintén előzetes verzióban érhető el az adattárban található súgóval.

Következő lépések