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
--docker
lehetőséget, ahogyan azfunc init
alábbi példában is látható:func init --docker
Meglévő projekthez Dockerfile-t is hozzáadhat, ha a
--docker-only
opciót használja, amikor afunc init
parancsot 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 EP1
a 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-rg
A
az functionapp deployment container config
parancs 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-url
parancs 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
-appservice
a bázisképhez azFROM
utasításban, ahogyan a következő példában látható.FROM mcr.microsoft.com/azure-functions/node:4-node18-appservice
Ez 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 build
rendszerké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.0
Az 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
top
parancsot 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: