Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd denna guide för att gå från den äldre Functions on Azure Container Apps V1 värdmodell till den rekommenderade Functions on Azure Container Apps V2 hostingmodellen. Du lär dig varför du migrerar, vilka ändringar och hur du kör övergången med minimal risk.
Anmärkning
Använd Azure Functions på Azure Container Apps v1 migrationsassistent för att hjälpa till att migrera dina funktionsappar från v1-modellen till v2-modellen.
Du kan vara värd för Azure Functions i Azure Container Apps med hjälp av två distributionsmodeller:
Functions on Azure Container Apps V1: Legacy proxymodell som använder en Function App (
Microsoft.Webresursleverantör) plus en bakom-kulisserna-containerapp.Funktioner på Azure Container Apps V2: Inbyggd modell som skapar en enda Azure Container App-resurs (
Microsoft.App) medkind=functionapp.
När du går över till Functions i Azure Container Apps V2 förenklar du hanteringen, låser upp inbyggda funktioner och anpassar dig till framtidens färdplan för Azure Functions.
Modelljämförelse
| Area | Funktioner i Azure Container Apps V1 (äldre version) | Funktioner på Azure Container Apps V2 (rekommenderas) |
|---|---|---|
| Resursmodell | Proxy Functions-appen paras ihop med en dold containerapp | Enskild intern containerapp (kind=functionapp) |
| Inbyggda funktioner (revisioner, hemligheter, hälsokontroller, anpassade domäner, sidecars) |
Stöds inte | Understödd |
| Skalningskontroller (nedkylning, avsökningsintervall) |
Limited | Skalningsalternativ för fullständig containerapp |
| Loggning och felsökning | Indirekt. Ingen livekonsol | Direkt. Innehåller liveloggar och diagnostik |
| Dapr-integrering | Problematiskt i vissa isolerade .NET-scenarier | Stöds med standardmönster |
| Autentisering (enkel autentiseringstjänst) | Ej tillgänglig | Tillgängligt |
| Certifikat och anpassade domäner | Ej tillgänglig | Tillgängligt |
| Mått och aviseringar | Grundläggande | Fullständiga interna mått och aviseringar |
| Framtida översikt (funktionslista, nycklar, antal anrop) |
Inte planerad | Planerat |
| Driftkomplexitet | Hantering med dubbla resurser | Enskild resurs |
| Rekommenderas för nya distributioner | Nej | Yes |
Begränsningar av funktioner på Azure Container Apps v1
Functions on Azure Container Apps V1 har flera begränsningar som påverkar skalbarhet, hantering och funktionstillgänglighet. Att förstå dessa begränsningar hjälper till att klargöra fördelarna med att migrera till Functions på Azure Container Apps V2.
Funktionsbrister
Följande funktioner finns inte tillgängliga för Functions på Azure Container Apps V1-appar:
- Enkel autentisering
- Hälsoundersökningar
- Anpassade domäner
- Sidovagnscontainrar
- Hanterade certifikat
- Hemligheter för containerappar
- Finkorniga skalningsinställningar
- Trafikuppdelning med flera revisioner
Felsökningsbegränsningar
I Functions on Azure Container Apps V1-appar har du ingen direkt containeråtkomst eller konsolutdata i realtid. Använd istället Log Analytics för infrastrukturdiagnostik och Application Insights för applikationsloggar.
Problem med Dapr-integrering
Dapr- och .NET-isolerade funktioner kan vara i konflikt under bygget eller körningen på grund av beroende- och initieringsordningsbegränsningar.
Fördelar med funktioner på Azure Container Apps V2
Functions on Azure Container Apps V2 skapar en inbyggd container-appresurs direkt. Den här metoden tar bort indirekt proxy och aktiverar fullständiga Azure Container Apps-funktioner.
Viktiga fördelar:
- Aktivera Easy Auth för avlastning av identitet.
- Konfigurera hälsoprob för att förbättra flexibiliteten.
- Ange anpassade domäner och använd hanterade certifikat.
- Minska driftkostnaderna med en enskild resurs.
- Lagra hemligheter internt och montera sidovagnscontainrar.
- Få tydligare mått, aviseringar och direktuppspelning av loggar.
- Använd flera versionsdistributioner och fördela trafiken säkert.
- Tillämpa detaljerade skalningsregler (avsökningsintervall, nedkylning).
Anmärkning
Inga kodändringar krävs. Du kan återanvända din befintliga containeravbildning.
Distribuering av legacy-avbildningar (stöds inte)
Vissa distributioner använder en standardcontainerapp utan kind=functionapp och kör en Functions-avbildning manuellt.
Viktigt!
Den här metoden stöds inte. Den saknar automatiska skalningsregler och får inte kommande funktioner på Azure Container Apps V2-plattformen som funktionslistor, nycklar och anropsantal.
Rekommendation: Migrera till Functions på Azure Container Apps V2.
Förutsättningar
Innan du migrerar:
- Azure-prenumeration och behörighet att skapa resurser.
- [Azure CLI](/cli/azure/install-azure-cli-windows?view=azure-cli-latest) har installerats (senaste).
- Nödvändiga tillägg:
az extension add --name containerapp,az extension add --name functionapp(om tillämpligt). - Tillgång till containeravbilden som används av dina Functions i Azure Container Apps V1-distributionen.
- Inventering av miljövariabler, hemligheter, lagringsbindningar och nätverksinställningar.
Migreringsprocedur
1. Förbered
- Identifiera att din aktuella distribution är en Functions on Azure Container Apps V1-app.
- Exportera alla konfigurationsdata, inklusive miljövariabler, hemligheter, anslutningssträngar och anpassade bindningar.
- Granska miljökvoter (CPU, minne, maximalt antal instanser) och justera vid behov.
- Bekräfta avbildningstillgängligheten i registret.
2. Skapa en Functions on Azure Container Apps V2 app
Skapa eller återanvända en Azure Container Apps-miljö.
Distribuera en ny Functions på Azure Container Apps V2-app med samma image.
az containerapp create \ --name my-func-v2 \ --resource-group <RESOURCE_GROUP_NAME> \ --environment <ENVRONMENT_NAME> \ --image myregistry.azurecr.io/<IMAGE_NAME>:<TAG_NAME> \ --kind functionapp \ --ingress external --target-port <TARGET_PORT>Använd konfigurationsinformationen igen, inklusive hemligheter, miljövariabler, identitet och nätverk.
Aktivera autentisering eller anpassad domän om det behövs.
Definiera en skaleringsregel (HTTP, CPU, köutlösarkorrelation efter behov).
3. Verifiera
Anropa HTTP-utlösta funktioner (curl eller webbläsare).
Testa varje utlösartyp (Event Hubs, Service Bus, timer).
Bekräfta Application Insights-telemetri- och Log Analytics-loggar.
Kontrollera skalningsbeteendet under belastning (autoskalningsregler som aktiveras).
Kontrollera att hemligheter och anslutningssträngar bearbetas korrekt.
Bekräfta status för hälsoprob och detaljer om containerrevision.
4. Uppdatera DNS eller anpassade domäner (valfritt)
Om du använder en anpassad domän pekar du den mot det nya värdnamnet för Functions on Azure Container Apps V2 (CNAME eller A-post).
Koppla om SSL/TLS-certifikat (hanterade eller uppladdade).
Testa domänupplösning och TLS-handskakning.
Kommunicera slutpunktsändringar internt.
5. Migrera
Flytta produktionstrafik (uppdatera DNS TTL eller routningsregler).
Övervaka svarstider, fel och antal anrop.
Justera skalningsparametrar om det behövs (cooldown, min/max-instanser).
Övervaka loggar för avvikelser under de första få timmarna.
6. Städa upp
Avveckla de gamla funktionerna i Azure Container Apps V1-appen och relaterade resurser.
Försiktighet
Kontrollera att ingen produktionstrafik fortfarande riktar sig mot funktionerna på Azure Container Apps V1-endpointen innan radering.
Ta bort oanvända hemligheter eller lagringsreferenser.
Uppdatera intern dokumentation och operativa runbooks.
Checklista för verifiering
| Objekt | Godkända kriterier |
|---|---|
| Utlösare aktiveras | Alla konfigurerade utlösare körs korrekt |
| Loggar och telemetri | Application Insights visar anrop; liveloggström |
| Scaling | Antalet instanser anpassas enligt regelkonfigurationen |
| Autentisering (om aktiverad) | Skyddade slutpunkter returnerar förväntade statuskoder |
| Domäner | Anpassad domän matchas med giltigt certifikat |
| Secrets | Känsliga värden läses in utan fel |
Driftförbättringar (valfritt)
Förbättra tillförlitligheten efter migreringen:
- Lägga till aviseringsregler
- Justera autoskala
- Framtvinga användning av hanterad identitet
- Centralisera hemligheter