Freigeben über


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:

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?

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)

Nächste Schritte

Tutorial: Aktivieren von Azure Container Apps in Kubernetes mit Azure Arc-Unterstützung (Vorschau)