Azure Container Apps in Azure Arc (Vorschau)
Sie können Container-Apps in einem Azure Arc-enabled AKS-Cluster oder in einem AKS-HCI-Cluster ausführen.
Die Ausführung in einem Kubernetes-Cluster mit Azure Arc-Unterstützung ermöglicht Folgendes:
- Entwickler können die Features von Container Apps nutzen.
- IT-Administratoren können Container Apps in der internen Infrastruktur hosten und so die Compliance des Unternehmens gewährleisten.
Informationen zum Einrichten Ihres Kubernetes-Clusters für Container Apps finden Sie unter Tutorial: Aktivieren von Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung (Vorschau).
Die Konfiguration Ihres Clusters umfasst folgende Schritte:
Den verbundenen Cluster. Hierbei handelt es sich um eine Azure-Projektion Ihrer Kubernetes-Infrastruktur. Weitere Informationen finden Sie unter Was ist Kubernetes mit Azure Arc-Unterstützung?.
Eine Clustererweiterung. Hierbei handelt es sich um eine Unterressource der verbundenen Clusterressource. Die Container Apps-Erweiterung installiert die erforderlichen Ressourcen in Ihrem verbundenen Cluster. Weitere Informationen zu Clustererweiterungen finden Sie unter Clustererweiterungen in Kubernetes mit Azure Arc-Unterstützung.
Einen benutzerdefinierten Speicherort. Dieser bündelt eine Gruppe von Erweiterungen und weist sie einem Namespace für erstellte Ressourcen zu. Weitere Informationen finden Sie unter „Benutzerdefinierte Speicherorte“ auf Basis von Kubernetes mit Azure Arc-Unterstützung.
Eine verbundene Container Apps-Umgebung. Diese ermöglicht eine App-übergreifende Konfiguration (allerdings nicht im Zusammenhang mit Clustervorgängen). Konzeptionell wird sie in der benutzerdefinierten Standortressource bereitgestellt, und App-Entwickler erstellen Apps in dieser Umgebung.
Einschränkungen der öffentlichen Vorschauversion
Für Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung gelten folgende Public Preview-Einschränkungen:
Einschränkung | Details |
---|---|
Unterstützte Azure-Regionen | „USA, Osten“, „Europa, Westen“, „Asien, Osten“ |
Clusternetzwerkanforderung | Muss den Diensttyp LoadBalancer unterstützen |
Anforderung an das Knotenbetriebssystem | Nur Linux |
Funktion: Verwaltete Identitäten | Nicht verfügbar |
Funktion: Images aus ACR mit verwalteter Identität herausziehen | Nicht verfügbar (abhängig von verwalteten Identitäten) |
Protokolle | Log Analytics muss mit der Clustererweiterung konfiguriert werden (nicht pro Anwendung). |
Wichtig
Stellen Sie bei der Bereitstellung auf AKS-HCI sicher, dass Sie HAProxy als Lastenausgleich eingerichtet haben, bevor Sie versuchen, die Erweiterung zu installieren.
Von der Container Apps-Erweiterung erstellte Ressourcen
Wenn die Container Apps-Erweiterung in dem Kubernetes-Cluster mit Azure Arc-Unterstützung installiert wird, werden mehrere Ressourcen im angegebenen Releasenamespace erstellt. Diese Ressourcen ermöglichen es Ihrem Cluster, als Erweiterung des Microsoft.App
-Ressourcenanbieters zu fungieren, um die Verwaltung und den Betrieb Ihrer Apps zu unterstützen.
Optional können Sie festlegen, dass die Erweiterung KEDA für die ereignisgesteuerte Skalierung installiert. Im Cluster ist jedoch nur eine einzelne KEDA-Installation zulässig. Falls bei Ihnen bereits eine Installation vorhanden ist, deaktivieren Sie die KEDA-Installation, während Sie die Clustererweiterung installieren.
In der folgenden Tabelle wird die Rolle der einzelnen Revisionen beschrieben, die für Sie erstellt werden:
Pod | Beschreibung | Anzahl von Instanzen | CPU | Arbeitsspeicher | type |
---|---|---|---|---|---|
<extensionName>-k8se-activator |
Wird als Teil der Skalierungspipeline verwendet | 2 | 100 Millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-billing |
Generierung des Abrechnungsdatensatzes. Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung ist während der Vorschauphase kostenlos. | 3 | 100 Millicpu | 100 MB | ReplicaSet |
<extensionName>-k8se-containerapp-controller |
Der Kern-Operatorpod, der Ressourcen im Cluster erstellt und den Zustand der Komponenten verwaltet. | 2 | 100 Millicpu | 1 GB | ReplicaSet |
<extensionName>-k8se-envoy |
Eine Front-End-Proxyebene für alle HTTP-Anforderungen auf Datenebene. Es leitet den eingehenden Datenverkehr an die richtigen Apps weiter. | 3 | 1 Kern | 1.536 MB | ReplicaSet |
<extensionName>-k8se-envoy-controller |
Operator, der die Envoy-Konfiguration generiert | 2 | 200 Millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-event-processor |
Ein alternatives Routing-Ziel zur Unterstützung von Apps, die auf 0 (null) skaliert wurden, während das System die erste verfügbare Instanz erhält. | 2 | 100 Millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-http-scaler |
Überwacht das eingehende Anforderungsvolumen, um Skalierungsinformationen für KEDA bereitzustellen. | 1 | 100 Millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-keda-cosmosdb-scaler |
KEDA-Cosmos DB-Scaler | 1 | 10 m | 128 MB | ReplicaSet |
<extensionName>-k8se-keda-metrics-apiserver |
KEDA-Metrikserver | 1 | 1 Kern | 1.000 MB | ReplicaSet |
<extensionName>-k8se-keda-operator |
Skaliert Workloads von 0/1 auf N-Instanzen (vertikal und horizontal) | 1 | 100 Millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-log-processor |
Erfasst Protokolle von Apps und anderen Komponenten und sendet sie an Log Analytics. | 2 | 200 Millicpu | 500 MB | DaemonSet |
<extensionName>-k8se-mdm |
Agent für Metriken und Protokolle | 2 | 500 Millicpu | 500 MB | ReplicaSet |
dapr-metrics | Pod für Dapr-Metriken | 1 | 100 Millicpu | 500 MB | ReplicaSet |
dapr-operator | Verwaltet Komponentenaktualisierungen und Dienstendpunkte für Dapr | 1 | 100 Millicpu | 500 MB | ReplicaSet |
dapr-placement-server | Wird nur für Akteure verwendet. Erstellt Zuordnungstabellen für die Zuordnung von Akteurinstanzen zu Pods. | 1 | 100 Millicpu | 500 MB | StatefulSet |
dapr-sentry | Verwaltet mTLS zwischen Diensten und fungiert als Zertifizierungsstelle. | 2 | 800 Millicpu | 200 MB | ReplicaSet |
Häufig gestellte Fragen zu Azure Container Apps in Azure Arc (Vorschau)
- Wie viel kostet es?
- Welche Container Apps-Features werden unterstützt?
- Werden verwaltete Identitäten unterstützt?
- Gibt es Grenzen in Bezug auf die Skalierung?
- Welche Protokolle werden gesammelt?
- Was kann ich tun, wenn ein Anbieterregistrierungsfehler angezeigt wird?
- Kann die Erweiterung auf Windows-Knoten installiert werden?
- Kann ich die Container Apps-Erweiterung in einem Arm64-basierten Cluster bereitstellen?
Wie viel kostet es?
Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung ist während der Vorschauphase kostenlos.
Welche Container Apps-Features werden unterstützt?
Während der Vorschauphase werden bestimmte Azure Container Apps-Features überprüft. Wenn sie unterstützt werden, werden ihre linken Navigationsoptionen im Azure-Portal aktiviert. Features, die noch nicht unterstützt werden, werden abgeblendet dargestellt.
Werden verwaltete Identitäten unterstützt?
Verwaltete Identitäten werden nicht unterstützt. Apps können keine verwalteten Identitäten zugewiesen werden, wenn sie in Azure Arc ausgeführt werden. Wenn Ihre App für die Arbeit mit einer anderen Azure-Ressource eine Identität benötigt, sollten Sie stattdessen einen Anwendungsdienstprinzipal verwenden.
Gibt es Grenzen in Bezug auf die Skalierung?
Alle Anwendungen, die mit Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung bereitgestellt werden, sind innerhalb der Grenzwerte des zugrunde liegenden Kubernetes-Clusters skalierbar. Wenn die verfügbaren Computeressourcen des Clusters (in erster Linie CPU und Arbeitsspeicher) zur Neige gehen, werden Anwendungen auf die Anzahl von Anwendungsinstanzen skaliert, die Kubernetes mit den verfügbaren Ressourcen planen kann.
Welche Protokolle werden gesammelt?
Protokolle für Systemkomponenten und Ihre Anwendungen werden in die Standardausgabe geschrieben.
Beide Protokolltypen können für die Analyse mithilfe von Kubernetes-Standardtools gesammelt werden. Sie können die Clustererweiterung für die Anwendungsumgebung auch mit einem Log Analytics-Arbeitsbereich konfigurieren. Daraufhin werden alle Protokolle an diesen Arbeitsbereich gesendet.
Standardmäßig werden Protokolle von Systemkomponenten an das Azure-Team gesendet. Anwendungsprotokolle werden nicht gesendet. Sie können verhindern, dass diese Protokolle übertragen werden, indem Sie logProcessor.enabled=false
als Erweiterungskonfigurationseinstellung festlegen. Durch diese Konfigurationseinstellung wird die Weiterleitung der Anwendung an Ihren Log Analytics-Arbeitsbereich deaktiviert. Das Deaktivieren des Protokollprozessors kann sich auf die Zeit auswirken, die für Supportfälle benötigt wird, und Sie werden aufgefordert, Protokolle aus der Standardausgabe auf andere Weise zu erfassen.
Was kann ich tun, wenn ein Anbieterregistrierungsfehler angezeigt wird?
Im Zuge der Erstellung einer mit Azure Container Apps verbundenen Umgebungsressource wird für einige Abonnements möglicherweise ein Fehler mit dem Hinweis angezeigt, dass kein registrierter Ressourcenanbieter gefunden wurde. Die Fehlerdetails enthalten ggf. eine Reihe von Speicherorten und API-Versionen, die als gültig betrachtet werden. Wenn diese Fehlermeldung zurückgegeben wird, muss das Abonnement erneut beim Microsoft.App
-Anbieter registriert werden. Die erneute Registrierung des Anbieters hat keine Auswirkungen auf bereits vorhandene Anwendungen oder APIs. Verwenden Sie zum erneuten Registrieren die Azure CLI, um az provider register --namespace Microsoft.App --wait
auszuführen. Versuchen Sie dann erneut, den Befehl für die verbundene Umgebung auszuführen.
Kann die Erweiterung auf Windows-Knoten installiert werden?
Nein, die Erweiterung kann nicht auf Windows-Knoten installiert werden. Die Erweiterung unterstützt nur die Installation auf Linux-Knoten.
Kann ich die Container Apps-Erweiterung in einem Arm64-basierten Cluster bereitstellen?
Arm64-basierte Cluster werden derzeit nicht unterstützt.
Versionshinweise zur Erweiterung
Container Apps-Erweiterung 1.0.46 (Dezember 2022)
- Erstes Public Preview-Release der Container Apps-Erweiterung
Container Apps-Erweiterung 1.0.47 (Januar 2023)
- Upgrade von Envoy auf die Version 1.0.24 durchgeführt
Container Apps-Erweiterung 1.0.48 (Februar 2023)
- Tests zu EasyAuth-Containern hinzugefügt
- Arbeitsspeicherlimit für „dapr-operator“ erhöht
- Verhinderung der Überschreibung des Plattformheaders hinzugefügt
Container Apps-Erweiterung 1.0.49 (Februar 2023)
- Upgrade von KEDA auf 2.9.1 und von Dapr auf 1.9.5 durchgeführt
- Ressourceneinschränkungen für Envoy-Controller auf 200 Millicpu erhöht
- Ressourceneinschränkungen für Container Apps-Controller auf 1 GB Arbeitsspeicher erhöht
- Ressourceneinschränkungen für EasyAuth-Sidecar auf 50 Millicpu verringert
- KEDA-Fehlerprotokollierung für fehlende Metrikwerte korrigiert
Container Apps-Erweiterung 1.0.50 (März 2023)
- Protokollierung von Images im Einklang mit der öffentlichen Cloud aktualisiert
Container Apps-Erweiterung 1.5.1 (April 2023)
- Neues Nummernformat für die Versionsverwaltung
- Upgrade von Dapr auf 1.10.4 durchgeführt
- Skalierung von Envoy nach Bereitstellungen neuer Revisionen beibehalten
- Geändert, wann standardmäßige Starttests zu einem Container hinzugefügt werden: Wenn Entwickler nicht sowohl Start- als auch Bereitschaftstests definieren, werden standardmäßige Starttests hinzugefügt.
- Umgebungsvariable „CONTAINER_APP_REPLICA_NAME“ wird benutzerdefinierten Containern hinzugefügt
- Leistung beim Beenden mehrerer Revisionen verbessert
Container Apps-Erweiterung 1.12.8 (Juni 2023)
- OSS Fluent Bit auf 2.1.2 und Dapr auf 1.10.6 aktualisiert
- Unterstützung von Containerregistrierungen, die für den benutzerdefinierten Port verfügbar gemacht werden, hinzugefügt
- Möglichkeit zum Aktivieren/Deaktivieren der Revision beim Beenden einer Container-App bereitgestellt
- Fehler korrigiert, der dazu geführt hat, dass in der Revisionsliste keine Init-Container zurückgegeben werden
- Standardmäßige Allow-Header für CORS-Richtlinie hinzugefügt
Container Apps-Erweiterung 1.12.9 (Juli 2023)
- Kleinere Aktualisierungen für EasyAuth-Sidecar-Container durchgeführt
- Erweiterungsüberwachungs-Agents aktualisiert
Container Apps-Erweiterung 1.17.8 (August 2023)
- EasyAuth auf 1.6.16, Dapr auf 1.10.8 und Envoy auf 1.25.6 aktualisiert
- Unterstützung der Volumeeinbindung für Azure Container Apps-Aufträge hinzugefügt
- IP-Einschränkungen für Anwendungen mit TCP-Erfassungstyp hinzugefügt
- Unterstützung von Container Apps mit mehreren verfügbar gemachten Ports hinzugefügt
Container Apps-Erweiterung 1.23.5 (Dezember 2023)
- Envoy auf 1.27.2, KEDA auf v2.10.0, EasyAuth auf 1.6.20 und Dapr auf 1.11 aktualisiert
- Envoy auf maximal TLS 1.3 festgelegt
- Abstürze in Protokollprozessor-Pods behoben
- Probleme beim Abrufen von Geheimnissen für Imagepullvorgänge behoben
- Platzierung von Envoy aktualisiert, um nach Möglichkeit eine Verteilung auf verfügbare Knoten durchzuführen
- Wenn Container-Apps aufgrund von Revisionskonflikten nicht bereitgestellt werden können, wird der Bereitstellungsstatus auf „Fehlgeschlagen“ festgelegt.
Container Apps-Erweiterung 1.30.6 (Januar 2024)
- KEDA auf 2.12, Envoy-SC-Image auf 1.0.4 und Dapr-Image auf 1.11.6 aktualisiert
- Standardantworttimeout von 1.800 Sekunden für Envoy-Routen hinzugefügt
- Fluent Bit-Standardprotokollebene in „Warnen“ geändert
- Löschen von Auftragspods verzögert, um die Protokollausgabe sicherzustellen
- Problem beim Löschen von Auftragspods für nicht erfolgreiche Auftragsausführungen behoben
- Sichergestellt, dass fehlerhafte Pods für Aufträge mit Unterbrechungsstatus gelöscht werden
- Aktualisierung durchgeführt, damit „HTTPOptions“ für TCP-Anwendungen nicht aufgelöst wird
- HTTP- oder HTTPS-Lauschvorgänge für Anwendungen zugelassen
- Möglichkeit zum Anhalten von Aufträgen hinzugefügt
- Problem behoben, das dazu geführt hat, dass der KEDA-Scaler nach beendeter Auftragsausführung den Auftrag nicht mehr erstellen konnte
- „startingDeadlineSeconds“ für den Fall eines Clusterneustarts zu Container Apps-Auftrag hinzugefügt
- Umfangreiche Protokollierung in Envoy-Zugriffsprotokollserver entfernt
- Überwachungskonfigurationsversion für Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung aktualisiert
Container Apps-Erweiterung 1.36.15 (April 2024)
- Dapr auf 1.12 und Dapr Metrics auf 0.6 aktualisiert
- Kundenseitige Aktivierung der Azure SDK-Debugprotokollierung in Dapr ermöglicht
- Skalierung von Envoy als Reaktion auf die Speicherauslastung ermöglicht
- Envoy-Protokollformat in JSON geändert
- Export zusätzlicher Envoy-Metriken implementiert
- Kürzung des Envoy-Protokolls auf die ersten 1.024 Zeichen, wenn der Protokollinhalt nicht analysiert werden konnte
- Ordnungsgemäße Behandlung von SIGTERM im lokalen Proxy implementiert
- Verwendung verschiedener Namespaces mit KEDA ermöglicht
- Validierung des Skalierungsregelnamens hinzugefügt
- Revisions-GC standardmäßig aktiviert
- Metrikausgabe für Sidecars aktiviert
- Volumeeinbindungen zu Auftragsausführungen hinzugefügt
- Validierung zu Webhook-Endpunkten für Aufträge hinzugefügt
Container Apps-Erweiterung 1.37.1 (Juli 2024)
- EasyAuth aktualisiert, um MISE zu unterstützen
Container Apps-Erweiterung Version 1.37.2 (September 2024)
- Aktualisierung von Dapr-Metrics-Image auf Version 0.6.8, um das Problem mit dem Netzwerktimeout zu beheben
- Problem im Protokollprozessor behoben, das den Start des MDSD-Containers verhinderte, wenn der Cluster hinter einem Proxy verbunden ist
Container Apps-Erweiterung 7.37.1 (Oktober 2024)
- Ein Problem mit MDM Init-Container wurde behoben, das dazu führte, dass der Container abstürzte, wenn er nicht abgerufen werden konnte
- Unterstützung für das Logic Apps-Hybridbereitstellungsmodell (Public Preview) hinzugefügt
Nächste Schritte
Tutorial: Aktivieren von Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung (Vorschau)