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.
Ez a cikk bemutatja, hogy az Azure Functions támogatja az Azure Container Apps-környezetben futó tárolóalapú függvényalkalmazások használatát. További információért lásd: Azure Functions-t üzemeltető Azure Container Apps.
Fontos
Az Azure Functions közvetlen Azure Container Appsben való futtatására szolgáló új üzemeltetési módszer már elérhető (lásd a közleményt), és a legtöbb új számítási feladathoz ajánlott. Ez az integráció lehetővé teszi az Azure Container Apps teljes funkcióinak és képességeinek kihasználását, miközben kihasználja a függvények programozási modelljét és az Azure Functions által biztosított automatikus skálázás egyszerűségét.
További információ: Natív Azure Functions-támogatás az Azure Container Appsben
Ez a cikk bemutatja, hogy az Azure Functions támogatja a Linux-tárolókban futó függvényalkalmazások használatát.
Válassza ki a tárolóalapú függvényalkalmazás üzemeltetési környezetét a cikk tetején.
Ha közvetlenül be szeretne ugrani, az alábbi cikk bemutatja, hogyan hozhatja létre az első linuxos tárolóban futó függvényt, és hogyan helyezheti üzembe a lemezképet egy tárolóregisztrációs adatbázisból egy támogatott Azure-üzemeltetési szolgáltatásba:
Az első tárolóalapú Azure Functions létrehozása az Azure Container Appsben
Az Azure Container Apps üzembe helyezéséről további információkért lásd: Azure Functions üzemeltetése Azure Container Appsben.
Fontos
Ez a cikk jelenleg bemutatja, hogyan csatlakozhat az alapértelmezett tárfiókhoz egy kapcsolati sztring használatával. A legjobb biztonság érdekében ehelyett egy felügyelt identitásalapú kapcsolatot kell létrehoznia az Azure Storage-hoz Microsoft Entra-hitelesítéssel. További információkért tekintse meg a Functions fejlesztői útmutatóját.
Tárolóalapú függvényalkalmazások létrehozása
A Functions megkönnyíti a függvényalkalmazások Linux-tárolóként való üzembe helyezését és futtatását, amelyeket Ön hoz létre és tart karban. A Functions olyan nyelvspecifikus alaprendszerképeket tart fenn, amelyeket tárolóalapú függvényalkalmazások létrehozásakor használhat.
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ötelezett amellett, hogy havi frissítéseket közzétesz ezekhez az alapké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. További információkért lásd: Egyéni tárolók karbantartása.
A helyi tárolóalapú függvényalkalmazás parancssorból való létrehozásának és a lemezkép tárolóregisztrációs adatbázisban való közzétételének teljes példáját lásd : Függvényalkalmazás létrehozása helyi tárolóban.
A Dockerfile létrehozása
A függvényeszközök olyan Docker-beállítást biztosítanak, amely létrehoz egy Docker-fájlt a függvénykódprojekttel. Ezzel a fájllal a Dockerrel létrehozhatja a függvényeket egy olyan tárolóban, amely a megfelelő alaprendszerképből (nyelvből és verzióból) származik.
A Dockerfile létrehozásának módja a projekt létrehozásának módjától függ.
Amikor Functions-projektet hoz létre az Azure Functions Core Tools használatával, a parancs futtatásakor adja meg a
--dockerlehetőséget, ahogyan azfunc initalábbi példában is látható:func init --dockerMeglévő projekthez Dockerfile-t is hozzáadhat, ha a
--docker-onlyopciót használja, amikor afunc initparancsot egy meglévő projektmappában futtatja, ahogyan az alábbi példában is látható.func init --docker-only
A teljes példáért lásd : Függvényalkalmazás létrehozása helyi tárolóban.
Hozza létre a függvényalkalmazását egy tárolóban
Ha a kódprojektben egy Functions által létrehozott Dockerfile van, a Docker használatával létrehozhatja a tárolóalapú függvényalkalmazást a helyi számítógépen. Az alábbi docker build parancs lemezképfájlt készít a helyi könyvtárban található projekt konténerizált függvényeiről.
docker build --tag <DOCKER_ID>/<IMAGE_NAME>:v1.0.0 .
A tároló létrehozásának módjáról a tároló lemezképének összeállítása és helyi ellenőrzése című témakörben talál példát.
Rendszerkép frissítése a beállításjegyzékben
Ha módosítja a függvénykódprojektet, vagy frissítenie kell a legújabb alaprendszerképre, helyileg kell újraépítenie a tárolót, és újra közzé kell tennie a frissített lemezképet a kiválasztott tárolóregisztrációs adatbázisban. Az alábbi parancs újraépíti a rendszerképet a gyökérmappából egy frissített verziószámmal, és leküldi a beállításjegyzékbe:
az acr build --registry <REGISTRY_NAME> --image <LOGIN_SERVER>/azurefunctionsimage:v1.0.1 .
Cserélje le a <REGISTRY_NAME> címkét a Container Registry példányával, és a <LOGIN_SERVER> címkét a bejelentkezési kiszolgáló nevével.
Ezen a ponton frissítenie kell egy meglévő üzembe helyezést az új rendszerkép használatához. A függvényalkalmazást frissítheti az új rendszerkép használatára az Azure CLI-vel vagy az Azure Portalon:
az functionapp config container set --image <IMAGE_NAME> --registry-password <SECURE_PASSWORD>--registry-username <USER_NAME> --name <APP_NAME> --resource-group <RESOURCE_GROUP>
Ebben a példában <IMAGE_NAME> az új képfájl teljes neve a verzióval együtt. A magánregisztrációs adatbázisokhoz felhasználónevet és jelszót kell megadnia. Ezeket a hitelesítő adatokat biztonságosan tárolja.
Érdemes megfontolni a folyamatos üzembe helyezés engedélyezését is.
Azure Portal létrehozása tárolók használatával
Amikor függvényalkalmazást hoz létre az Azure Portalon, beállíthatja, hogy a függvényalkalmazást egy tárolóregisztrációs adatbázisban lévő rendszerképből telepítse. A tárolóalapú függvényalkalmazások tárolóregisztrációs adatbázisban való létrehozásáról a függvényalkalmazás tárolóban való létrehozása című témakörben olvashat.
Az alábbi lépések létrehoznak és üzembe helyeznek egy meglévő tárolóalapú függvényalkalmazást egy tárolóregisztrációs adatbázisból.
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Az Új oldalon válassza a Számítás>Függvényalkalmazás lehetőséget.
A Válasszon egy üzemeltetési lehetőséget, válassza a Prémium csomag>Kiválasztás.
Ez létrehoz egy, az Azure Functions által üzemeltetett függvényalkalmazást a Prémium csomagban, amely támogatja a dinamikus skálázást. Ön is választhatja, hogy egy App Service-csomagban futtatja az alkalmazást, de ebben a dedikált csomagban kezelnie kell a függvényalkalmazás skálázását.
Az Alapok lapon használja a függvényalkalmazás beállításait az alábbi táblázatban megadott módon:
Beállítás Ajánlott érték Leírás Előfizetés Az Ön előfizetése Az előfizetés, amelyben a függvényalkalmazást létrehozza. Erőforráscsoport myResourceGroup Annak az új erőforráscsoportnak a neve, amelyben a függvényalkalmazást létrehozza. Létre kell hoznia egy erőforráscsoportot, mert a meglévő erőforráscsoportban lévő új függvényalkalmazások létrehozásakor ismert korlátozások vannak érvényben. Függvényalkalmazás neve Egyedi név* Az új függvényalkalmazást azonosító név. Az érvényes karakterek az a-z(kis- és nagybetűk megkülönböztetése nélkül)0-9és az-.Kódot vagy tárolórendszerképet szeretne üzembe helyezni? Konténerkép Tárolóba helyezett függvényalkalmazás üzembe helyezése egy regisztrárból. Ha függvényalkalmazást szeretne létrehozni a beállításjegyzékben, olvassa el a Függvényalkalmazás létrehozása helyi tárolóban című témakört. Régió Előnyben részesített régió Válasszon ki egy önhöz közeli régiót vagy a függvényei által elérhető egyéb szolgáltatásokat. Linux-terv Új csomag (alapértelmezett) Létrehoz egy új Prémium csomagot az alkalmazás üzemeltetéséhez. Választhat egy meglévő prémium csomagot is. Tarifacsomag Elastic Prémium EP1 EP1a legkedvezőbb csomag. Igény szerint nagyobb csomagot is választhat.Zóna redundancia Letiltva Nincs szüksége erre a funkcióra egy nem gyártási alkalmazásban. *Az alkalmazás nevének globálisan egyedinek kell lennie az Összes Azure Functions által üzemeltetett alkalmazás között.
Fogadja el az új tárfiók létrehozásának alapértelmezett beállításait a Tár lapon , valamint egy új Application Insight-példányt a Figyelés lapon. Dönthet úgy is, hogy egy meglévő tárfiókot vagy Application Insights-példányt használ.
Válassza a Véleményezés + létrehozás lehetőséget az alkalmazáskonfigurációk kiválasztásának áttekintéséhez.
A Véleményezés + létrehozás lapon tekintse át a beállításokat, majd válassza a Létrehozás lehetőséget a függvényalkalmazás alapértelmezett alaprendszerkép használatával történő kiépítéséhez.
A függvényalkalmazás-erőforrás létrehozása után válassza az Ugrás az erőforrásra lehetőséget, majd a függvényalkalmazás lapján válassza az Üzembe helyezési központ lehetőséget.
Az Üzembe helyezési központban csatlakoztathatja a tárolóregisztrációs adatbázist a rendszerkép forrásaként. A GitHub Actionst vagy az Azure Pipelinest is engedélyezheti a tároló frissítéseinek robusztusabb, folyamatos üzembe helyezéséhez a beállításjegyzékben.
Azure Portal létrehozása tárolók használatával
Amikor létrehoz egy Container Apps által üzemeltetett függvényalkalmazást az Azure Portalon, dönthet úgy, hogy a függvényalkalmazást egy tárolóregisztrációs adatbázisban lévő rendszerképből telepíti. A tárolóalapú függvényalkalmazások tárolóregisztrációs adatbázisban való létrehozásáról a függvényalkalmazás tárolóban való létrehozása című témakörben olvashat.
Az alábbi lépések létrehoznak és üzembe helyeznek egy meglévő tárolóalapú függvényalkalmazást egy tárolóregisztrációs adatbázisból.
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Az Új oldalon válassza a Számítás>Függvényalkalmazás lehetőséget.
A Tárhely opció kiválasztása alatt válassza a Tárolóalkalmazások környezete lehetőséget, majd kattintson a > gombra.
Az Alapok lapon használja a függvényalkalmazás beállításait az alábbi táblázatban megadott módon:
Beállítás Ajánlott érték Leírás Előfizetés Az Ön előfizetése Az előfizetés, amelyben a függvényalkalmazást létrehozza. Erőforráscsoport myResourceGroup Annak az új erőforráscsoportnak a neve, amelyben a függvényalkalmazást létrehozza. Létre kell hoznia egy erőforráscsoportot, mert a meglévő erőforráscsoportban lévő új függvényalkalmazások létrehozásakor ismert korlátozások vannak érvényben. Függvényalkalmazás neve Egyedi név* Az új függvényalkalmazást azonosító név. Az érvényes karakterek az a-z(kis- és nagybetűk megkülönböztetése nélkül)0-9és az-.Régió Előnyben részesített régió Válasszon ki egy önhöz közeli régiót vagy a függvényei által elérhető egyéb szolgáltatásokat. *Az alkalmazás nevének egyedinek kell lennie az Azure Container Apps-környezetben.
Továbbra is az Alapok lapon fogadja el az Azure Container Apps-környezet javasolt új környezetét. A költségek minimalizálása érdekében az új alapértelmezett környezet a Használat + Dedikált-ban jön létre, alapértelmezett számítási feladatprofillal és zónaredundancia nélkül. További információért lásd: Azure Functions-t üzemeltető Azure Container Apps.
Egy meglévő Container Apps-környezetet is használhat. Egyéni környezet létrehozásához válassza az Új létrehozása lehetőséget. A Container Apps-környezet létrehozása lapon hozzáadhat nem megbízható számítási feladatprofilokat, vagy engedélyezheti a zónaredundanciát. A környezetekkel kapcsolatos további információkért tekintse meg az Azure Container Apps-környezeteket.
Válassza az Üzembe helyezés lapot, és törölje a jelölést a gyorsindítási kép használata jelölőnégyzetből. Ellenkező esetben a függvényalkalmazás a függvényalkalmazás nyelvének alaprendszerképéből lesz üzembe helyezve.
Válassza ki a nyilvános vagy privát képtípust. Válassza a Privát lehetőséget, ha az Azure Container Registryt vagy más privát regisztrációs adatbázist használja. Adja meg a rendszerkép nevét, beleértve a regisztrációs előtagot is. Ha privát regisztrációs adattárat használ, adja meg a képadattár hitelesítő adatait. A nyilvános beállítás csak a Docker Hubban nyilvánosan tárolt képeket támogatja.
A Tárolóerőforrás-kiosztás területen válassza ki a kívánt processzormagok számát és a rendelkezésre álló memóriát. Ha a környezethez más számításiprofilok is hozzáadva vannak, választhat egy nem megfelelő számítási feladatprofilt. Az ezen a lapon szereplő lehetőségek hatással vannak az alkalmazás üzemeltetésének költségeire. Tekintse meg a Container Apps díjszabási oldalát a lehetséges költségek becsléséhez.
Válassza a Véleményezés + létrehozás lehetőséget az alkalmazáskonfigurációk kiválasztásának áttekintéséhez.
A Véleményezés + létrehozás lapon tekintse át a beállításokat, majd válassza a Létrehozás lehetőséget a függvényalkalmazás kiépítéséhez és a tárolólemezkép beállításjegyzékből való üzembe helyezéséhez.
Képek használata az Azure Functionsben
Amikor a függvényalkalmazás tárolója egy beállításjegyzékből van üzembe helyezve, a Functions megőrzi a forráslemezkép adatait.
Az alábbi parancsokkal adatokat kérhet le a rendszerképről, vagy módosíthatja a használt központi telepítési lemezképet:
az functionapp config container show: az üzembe helyezéshez használt rendszerkép adatait adja vissza.az functionapp config container set: módosítsa a beállításjegyzék beállításait, vagy frissítse az üzembe helyezéshez használt rendszerképet az előző példában látható módon.
Container Apps számítási feladatok profiljai
A számítási feladatok profiljai a Container Apps funkciói, amelyekkel jobban szabályozhatja az üzembehelyezési erőforrásokat. Az Azure Functions az Azure Container Appsben a számítási feladatok profiljait is támogatja. További információ: Számítási feladatok profiljai az Azure Container Appsben.
Az alkalmazáshoz lefoglalt processzor- és memóriaerőforrások mennyiségét is beállíthatja.
A számítási feladatprofilokat és az erőforrás-foglalásokat az Azure CLI-vel vagy az Azure Portalon is létrehozhatja és kezelheti.
A tárolóalkalmazás-környezet létrehozásakor engedélyezheti a számítási feladatok profiljait. Példa: Tárolóalkalmazás létrehozása profilban.
Profilokat adhat hozzá, szerkeszthet és törölhet a környezetében. Példa: Profilok hozzáadása.
Amikor olyan környezetben hoz létre tárolóalapú függvényalkalmazást, amelyben engedélyezve vannak a számítási feladatok profiljai, meg kell adnia azt a profilt is, amelyben futtatni szeretné. A profilt a --workload-profile-name parancs az functionapp create paraméterével adhatja meg, ahogyan ez a következő példában látható:
az functionapp create --name <APP_NAME> --storage-account <STORAGE_NAME> --environment MyContainerappEnvironment --resource-group AzureFunctionsContainers-rg --functions-version 4 --runtime <LANGUAGE_STACK> --image <IMAGE_URI> --workload-profile-name <PROFILE_NAME> --cpu <CPU_COUNT> --memory <MEMORY_SIZE>
A parancsban a az functionapp create--environment paraméter a Container Apps környezetet adja meg, a --image paraméter pedig a függvényalkalmazáshoz használni kívánt rendszerképet. Ebben a példában cserélje le a <STORAGE_NAME>-t arra a névre, amit az előző szakaszban használt a tárfiókhoz. Cserélje le <APP_NAME> az Ön számára megfelelő globálisan egyedi nevet is.
Az alkalmazáshoz lefoglalt erőforrások beállításához cserélje le <CPU_COUNT> a kívánt virtuális CPU-k számát, legalább 0,5-ös értékre a profil által megengedett maximális értékig. Ehhez <MEMORY_SIZE>válasszon egy dedikált memóriamennyiséget 1 GB-tól a profil által megengedett maximális értékig.
A az functionapp container set parancs segítségével kezelheti a lefoglalt erőforrásokat és az alkalmazás által használt számítási feladatprofilt.
az functionapp container set --name <APP_NAME> --resource-group AzureFunctionsContainers-rg --workload-profile-name <PROFILE_NAME> --cpu <CPU_COUNT> --memory <MEMORY_SIZE>
Alkalmazásbeállítások
Az Azure Functions lehetővé teszi a tárolóalapú függvényalkalmazások alkalmazásbeállításainak szabványos módon történő alkalmazását. További információ: Alkalmazásbeállítások használata.
Tipp
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.
Folyamatos üzembe helyezés engedélyezése az Azure-ban
Ha a tárolóalapú függvényalkalmazást az Azure Container Appsben üzemelteti, kétféleképpen állíthatja be a folyamatos üzembe helyezést egy forráskódtárból:
Jelenleg nem tudja folyamatosan üzembe helyezni a tárolókat a tárolóregisztrációs adatbázisban lévő rendszerképváltozások alapján. Ehelyett ezeket a forráskódalapú folyamatos üzembehelyezési folyamatokat kell használnia.
Folyamatos üzembe helyezés engedélyezése az Azure-ban
Fontos
A Webhook-alapú üzembe helyezés jelenleg nem támogatott, ha rugalmas prémium csomagban futtatja a tárolót. Ha az ebben a szakaszban ismertetett folyamatos üzembe helyezési módszert kell használnia, helyezze üzembe a tárolót egy App Service-csomagban. Rugalmas Premium Planban futó alkalmazásnál manuálisan kell újraindítania az alkalmazást, valahányszor frissítéseket végez a konténeren az adattárban.
A folyamatos üzembe helyezést egy forráskódtárból is konfigurálhatja az Azure Pipelines vagy a GitHub Actions használatával.
Engedélyezheti az Azure Functions számára, hogy automatikusan frissítse a rendszerkép üzembe helyezését, amikor a tárolóregisztrációban frissíti a képet.
A folyamatos üzembe helyezés engedélyezéséhez és a webhook URL-címének lekéréséhez használja a következő parancsot:
az functionapp deployment container config --enable-cd --query CI_CD_URL --output tsv --name <APP_NAME> --resource-group AzureFunctionsContainers-rgA
az functionapp deployment container configparancs lehetővé teszi a folyamatos üzembe helyezést, és visszaadja az üzembehelyezési webhook URL-címét. Ezt az URL-címet később is lekérheti aaz functionapp deployment container show-cd-urlparancs használatával.A korábbiakhoz hasonlóan cserélje le
<APP_NAME>a függvényalkalmazás nevét.Másolja az üzembehelyezési webhook URL-címét a vágólapra.
Nyissa meg a Docker Hubot, jelentkezzen be, és válassza az Adattárak lehetőséget a navigációs sávon. Keresse meg és jelölje ki a képet, válassza a Webhookok lapot, adjon meg egy webhooknevet, illessze be az URL-címet a Webhook URL-címbe, majd válassza a Létrehozás lehetőséget.
Webhook beállításával az Azure Functions újratelepíti a rendszerképet, valahányszor frissíti azt a Docker Hubban.
SSH-kapcsolatok engedélyezése
Az SSH lehetővé teszi a tároló és az ügyfél közötti biztonságos kommunikációt. Ha engedélyezve van az SSH, az App Service Advanced Tools (Kudu) használatával csatlakozhat a tárolóhoz. Az Azure Functions egy alaprendszerképet biztosít, amely már SSH engedélyezéssel rendelkezik a tárolóhoz való egyszerű kapcsolódás érdekében. Csak szerkesztenie kell a Dockerfile-t, majd újra kell építenie és újra kell üzembe helyeznie a képet. Ezután a Speciális eszközök (Kudu) segítségével csatlakozhat a tárolóhoz.
A Dockerfile-ban fűzze hozzá a karakterláncot
-appservicea bázisképhez azFROMutasításban, ahogyan a következő példában látható.FROM mcr.microsoft.com/azure-functions/node:4-node18-appserviceEz a példa a Node.js 18-es verziójú alaprendszerkép SSH-kompatibilis verzióját használja. Az Azure Functions alaprendszerkép-adattárában ellenőrizheti, hogy az SSH-kompatibilis alaprendszerkép legújabb verzióját használja-e.
A parancs használatával újraépítheti a
docker buildrendszerképet, cserélje le a<DOCKER_ID>Docker Hub-fiók azonosítójával, ahogyan az alábbi példában is látható.docker build --tag <DOCKER_ID>/azurefunctionsimage:v1.0.0 .A frissített rendszerkép leküldése a Docker Hubra, amelynek lényegesen kevesebb időt kell igénybe vennie, mint az első leküldés. Most csak a kép frissített szegmenseit kell feltölteni.
docker push <DOCKER_ID>/azurefunctionsimage:v1.0.0Az Azure Functions automatikusan újratelepíti a rendszerképet a függvényalkalmazásába; a folyamat kevesebb mint egy perc alatt lezajlik.
Egy böngészőben nyissa meg
https://<app_name>.scm.azurewebsites.net/és cserélje le a<app_name>-et a saját egyéni nevére. Ez az URL-cím a függvényalkalmazás-tároló Speciális eszközök (Kudu) végpontja.Jelentkezzen be az Azure-fiókjába, majd válassza ki az SSH-t a tárolóval való kapcsolat létrehozásához. A csatlakozás eltarthat néhány percig, ha az Azure még frissíti a tárolórendszerképet.
Miután létrejött a kapcsolat a tárolóval, futtassa a
topparancsot az aktuálisan futó folyamatok megtekintéséhez.
Kapcsolódó cikkek
Az alábbi cikkek további információt nyújtanak a tárolók üzembe helyezéséről és kezeléséről: