Migrera från Functions på Azure Container Apps v1 till Functions on Azure Container Apps v2

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) med kind=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

  1. Identifiera att din aktuella distribution är en Functions on Azure Container Apps V1-app.
  2. Exportera alla konfigurationsdata, inklusive miljövariabler, hemligheter, anslutningssträngar och anpassade bindningar.
  3. Granska miljökvoter (CPU, minne, maximalt antal instanser) och justera vid behov.
  4. Bekräfta avbildningstillgängligheten i registret.

2. Skapa en Functions on Azure Container Apps V2 app

  1. Skapa eller återanvända en Azure Container Apps-miljö.

  2. 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>
    
  3. Använd konfigurationsinformationen igen, inklusive hemligheter, miljövariabler, identitet och nätverk.

  4. Aktivera autentisering eller anpassad domän om det behövs.

  5. Definiera en skaleringsregel (HTTP, CPU, köutlösarkorrelation efter behov).

3. Verifiera

  1. Anropa HTTP-utlösta funktioner (curl eller webbläsare).

  2. Testa varje utlösartyp (Event Hubs, Service Bus, timer).

  3. Bekräfta Application Insights-telemetri- och Log Analytics-loggar.

  4. Kontrollera skalningsbeteendet under belastning (autoskalningsregler som aktiveras).

  5. Kontrollera att hemligheter och anslutningssträngar bearbetas korrekt.

  6. Bekräfta status för hälsoprob och detaljer om containerrevision.

4. Uppdatera DNS eller anpassade domäner (valfritt)

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

  2. Koppla om SSL/TLS-certifikat (hanterade eller uppladdade).

  3. Testa domänupplösning och TLS-handskakning.

  4. Kommunicera slutpunktsändringar internt.

5. Migrera

  1. Flytta produktionstrafik (uppdatera DNS TTL eller routningsregler).

  2. Övervaka svarstider, fel och antal anrop.

  3. Justera skalningsparametrar om det behövs (cooldown, min/max-instanser).

  4. Övervaka loggar för avvikelser under de första få timmarna.

6. Städa upp

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

  2. Ta bort oanvända hemligheter eller lagringsreferenser.

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