Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nutzen Sie diesen Leitfaden, um vom alten Functions on Azure Container Apps V1 Hosting-Modell zum empfohlenen Functions on Azure Container Apps V2 Hosting-Modell zu wechseln. Sie erfahren, warum Sie migrieren, welche Änderungen vorgenommen werden und wie Sie den Übergang mit minimalem Risiko ausführen.
Hinweis
Nutzen Sie den Azure Functions on Azure Container Apps v1 Migration Assistant, um Ihre Funktions-Apps vom v1-Modell auf das v2-Modell zu migrieren.
Sie können Azure Functions in Azure Container-Apps hosten, indem Sie zwei Bereitstellungsmodelle verwenden:
Funktionen auf Azure Container Apps V1: Altes Proxy-Modell, das eine Function App (
Microsoft.WebResource Provider) plus eine Container-App im Hintergrund verwendet.Funktionen auf Azure Container Apps V2: Natives Modell, das eine einzelne Azure Container App Resource (
Microsoft.App) mitkind=functionapperstellt.
Wenn Sie zu Functions in Azure Container Apps V2 wechseln, vereinfachen Sie das Management, schalten native Funktionen frei und richten sich an die zukünftige Roadmap von Azure Functions.
Modellvergleich
| Area | Functions bei Azure Container Apps V1 (veraltet) | Funktionen auf Azure Container Apps V2 (empfohlen) |
|---|---|---|
| Ressourcenmodell | Proxy-Funktionen-App in Kombination mit einer verborgenen Container-App | Einzelne native Container-App (kind=functionapp) |
| Systemeigene Features (Überarbeitungen, Geheimnisse, Integritätstests, benutzerdefinierte Domänen, Sidecars) |
Nicht unterstützt | Unterstützt |
| Skalierungssteuerung (Abkühlzeit, Abfrageintervall) |
Begrenzt | Vollständige Skalierungsoptionen für Container-Apps |
| Protokollierung und Problembehandlung | Indirekt. Keine Livekonsole | Direkt. Umfasst Liveprotokolle und Diagnosen |
| Dapr-Integration | Problematisch in einigen isolierten .NET-Szenarien | Unterstützt durch Standardmuster |
| Authentifizierung (Easy Auth) | Nicht verfügbar | Verfügbar |
| Zertifikate und benutzerdefinierte Domänen | Nicht verfügbar | Verfügbar |
| Metriken und Warnungen | Basic | Vollständige systemeigene Metriken und Warnungen |
| Zukunftsplanung (Funktionsauflistung, Schlüssel, Aufrufanzahl) |
Nicht geplant | Geplant |
| Komplexität des Betriebs | Duale Ressourcenverwaltung | Einzelne Ressource |
| Empfohlen für neue Bereitstellungen | Nein | Yes |
Einschränkungen der Funktionen auf Azure Container Apps v1
Funktionen in Azure Container Apps V1 haben mehrere Einschränkungen, die Skalierbarkeit, Verwaltung und Funktionsverfügbarkeit beeinflussen. Das Verständnis dieser Einschränkungen hilft, die Vorteile der Migration zu Functions in Azure Container Apps V2 zu verdeutlichen.
Funktionslücken
Die folgenden Funktionen sind für Functions in Azure Container Apps V1 Apps nicht verfügbar:
- Einfache Authentifizierung
- Gesundheitsprüfungen
- Benutzerdefinierte Domänen
- Sidecar-Container
- Verwaltete Zertifikate
- Geheimnisse der Container-App
- Granulare Skalierungseinstellungen
- Trennung von Datenverkehr bei mehreren Revisionen
Problembehandlung bei Einschränkungen
Mit Functions auf Azure Container Apps V1 Apps hast du keinen direkten Containerzugriff oder Echtzeit-Konsolenausgabe. Verwenden Sie stattdessen Log Analytics für Infrastruktur-Diagnosen und Application Insights für Anwendungsprotokolle.
Probleme bei der Integration von Dapr
Dapr und isolierte .NET-Funktionen können während der Build- oder Laufzeit aufgrund von Abhängigkeits- und Initialisierungsreihenfolgenbeschränkungen in Konflikt geraten.
Vorteile von Funktionen in Azure Container Apps V2
Functions on Azure Container Apps V2 erstellt direkt eine native Container-App-Ressource. Dieser Ansatz entfernt die Proxy-Dereferenzierung und ermöglicht vollständige Azure-Container-Apps-Funktionen.
Hauptvorteile:
- Aktivieren Sie die einfache Authentifizierung für das Ausladen von Identitäten.
- Konfigurieren Sie Gesundheitsüberprüfungen, um die Resilienz zu verbessern.
- Legen Sie benutzerdefinierte Domänen fest, und verwenden Sie verwaltete Zertifikate.
- Reduzieren Sie den Betriebsaufwand mit einer einzelnen Ressource.
- Speichern Sie Geheimnisse nativ, und binden Sie Sidecar-Container ein.
- Erhalten Sie klarere Metriken, Warnungen und Liveprotokollstreaming.
- Verwenden Sie Bereitstellungen mit mehreren Revisionen, und trennen Sie Datenverkehr auf sichere Weise.
- Wenden Sie detaillierte Skalierungsregeln an (Polling-Intervall, Cooldown).
Hinweis
Es sind keine Codeänderungen erforderlich. Sie können Ihr vorhandenes Containerimage wiederverwenden.
Direkte Legacy-Imagebereitstellung (nicht unterstützt)
Einige Bereitstellungen verwenden eine Standardcontainer-App ohne kind=functionapp und führen ein Funktionsimage manuell aus.
Von Bedeutung
Dieser Ansatz wird nicht unterstützt. Es fehlen automatische Skalierungsregeln, und es erhält keine der kommenden Plattformfeatures von Functions on Azure Container Apps V2 wie die Auflistung von Funktionen, Schlüssel und die Anzahl von Aufrufen.
Empfehlung: Migrieren zu Funktionen auf Azure Container Apps v2.
Voraussetzungen
Vor der Migration:
- Azure-Abonnement und Berechtigung zum Erstellen von Ressourcen.
- [Azure CLI](/cli/azure/install-azure-cli-windows?view=azure-cli-latest) (neueste Version) installiert.
- Erforderliche Erweiterungen:
az extension add --name containerapp,az extension add --name functionapp(falls zutreffend). - Zugriff auf das Container-Image, das von Ihren Functions bei der Azure Container Apps V1-Bereitstellung verwendet wird.
- Inventar von Umgebungsvariablen, geheimen Schlüsseln, Speicherbindungen und Netzwerkeinstellungen.
Migrationsverfahren
1. Vorbereiten
- Identifizieren Sie, dass Ihre aktuelle Bereitstellung eine Functions on Azure Container Apps V1-App ist.
- Exportieren Sie alle Konfigurationsdaten, einschließlich Umgebungsvariablen, geheime Schlüssel, Verbindungszeichenfolgen und benutzerdefinierte Bindungen.
- Überprüfen Sie Die Umgebungskontingente (CPU, Arbeitsspeicher, max. Instanzen) und passen Sie bei Bedarf an.
- Bestätigen Sie die Verfügbarkeit von Bildern in Ihrer Registrierung.
2. Erstellen Sie eine Functions on Azure Container Apps V2-App
Erstellen oder wiederverwenden Sie eine Azure-Container-Apps-Umgebung.
Stellen Sie eine neue Functions-App auf Azure Container Apps V2 mit demselben Image bereit.
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>Erneutes Anwenden von Konfigurationsdetails, einschließlich geheimer Schlüssel, Umgebungsvariablen, Identität, Netzwerk.
Aktivieren Sie bei Bedarf die Authentifizierung oder benutzerdefinierte Domäne.
Definieren Sie Skalierungsregeln (HTTP, CPU, Warteschlangentriggerkorrelation nach Bedarf).
3. Überprüfen
Aufrufen von HTTP-ausgelösten Funktionen (curl oder Browser).
Testen Sie jeden Triggertyp (Event Hubs, Service Bus, Timer).
Bestätigen Sie die Telemetrie- und Log Analytics-Protokolle von Application Insights.
Prüfen Sie das Skalierungsverhalten unter Last (Autoskalierungsregeln werden ausgelöst).
Überprüfen Sie, ob Geheimnisse und Verbindungszeichenfolgen ordnungsgemäß aufgelöst werden.
Bestätigen Sie den Status der Gesundheitsüberprüfung und die Details der Containerrevision.
4. Aktualisieren von DNS oder benutzerdefinierten Domänen (optional)
Wenn Sie eine benutzerdefinierte Domäne verwenden, ordnen Sie sie dem neuen Hostnamen von Functions on Azure Container Apps V2 zu (CNAME oder A-Eintrag).
SSL/TLS-Zertifikate neu binden (verwaltet oder hochgeladen).
Testen Sie die Domänenauflösung und den TLS-Handshake.
Kommunizieren Sie Endpunktänderungen intern.
5. Migrieren
Verschieben des Produktionsdatenverkehrs (Aktualisieren von DNS-TTL- oder Routingregeln).
Überwachen Sie Latenz, Fehler und Aufrufanzahlen.
Passen Sie bei Bedarf Skalierungsparameter an (Abkühlmodus, Min/Max-Instanzen).
Verfolgen Sie Protokolle für Anomalien während der ersten Stunden nach.
6. Bereinigen
Deaktivieren Sie die alten Funktionen in der Azure Container Apps V1 App und den zugehörigen Ressourcen.
Vorsicht
Überprüfen Sie, dass vor der Löschung noch kein Produktionsverkehr die Funktionen auf dem Azure Container Apps V1-Endpunkt anvisiert.
Entfernen Sie nicht verwendete geheime Schlüssel oder Speicherverweise.
Aktualisieren Sie interne Dokumentationen und betriebliche Runbooks.
Validierungsprüfliste
| Artikel | Passkriterien |
|---|---|
| Trigger werden ausgelöst. | Alle konfigurierten Trigger werden erfolgreich ausgeführt. |
| Protokolle und Telemetrie | Application Insights zeigt Funktionsaufrufe; Live-Stream von Protokollen |
| Scaling | Die Anzahl der Instanzen passt sich pro Regelkonfiguration an. |
| Authentifizierung (sofern aktiviert) | Geschützte Endpunkte geben erwartete Statuscodes zurück. |
| Domänen | Benutzerdefinierte Domäne wird mit gültigem Zertifikat aufgelöst. |
| Geheimnisse | Vertrauliche Werte werden ohne Fehler geladen. |
Operative Verbesserungen (optional)
Verbessern Sie die Zuverlässigkeit nach der Migration:
- Hinzufügen von Warnungsregeln
- Autoskalierung optimieren
- Erzwingen der Verwendung verwalteter Identitäten
- Zentralisieren von Geheimschlüsseln