Freigeben über


Azure Container-Apps in Azure Arc

Sie können Container-Apps in einem Azure Arc-enabled AKS-Cluster oder in AKS auf einem Azure Local-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

Die folgenden Einschränkungen gelten für Azure Container-Apps auf Azure Arc aktiviertem Kubernetes.

Einschränkung Einzelheiten
Unterstützte Azure-Regionen Australien Ost,Zentral-USA, Ostasien, Ost-USA, Nord-Mittel-USA, Südostasien, Schweden Zentral, Vereinigtes Königreich, Westeuropa, West-USA
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)
Funktion: Azure File Storage SMB-Treiber (>= v1.18.0) sollte installiert werden, bevor Azure-Datei-SMB-Speicher verwendet wird.
Protokolle Log Analytics muss mit der Clustererweiterung konfiguriert werden (nicht pro Anwendung).

Die folgenden Features werden unterstützt:

  • Beschriftungen
  • Metriken
  • Einfache Authentifizierung
  • Protokolldatenstrom
  • Resilienz
  • Benutzerdefinierte Domänen
  • Container Apps-Aufträge
  • Revisionsverwaltung
  • App-Containerkonsole

Wichtig

Stellen Sie bei der Bereitstellung auf AKS auf Azure Local sicher, dass Sie HAProxy als Lastenausgleich eingerichtet haben, bevor Sie versuchen, die Erweiterung zu installieren. Stellen Sie außerdem sicher, dass benutzerdefinierte CoreDNS aktiviert ist.

Informationen zum Aktivieren von benutzerdefinierten AKS CoreDNS finden Sie in der az containerapp arc CLI-Dokumentation.

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 Prozessor Arbeitsspeicher type
<extensionName>-k8se-activator Wird als Teil der Skalierungspipeline verwendet 2 100 Millicpu 500 MB ReplicaSet
<extensionName>-k8se-billing Generierung von Abrechnungsdatensätzen 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-Metriken 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

Welche Container Apps-Features werden unterstützt?

Überprüfen Sie das Portal auf die aktuellste Liste. Features, die nicht unterstützt werden, werden im Portal abgeblendigt.

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.

Wie kann ich SMB-Treiber installieren?

Sie können den SMB-Treiber mit dem folgenden Helm-Befehl installieren. Weitere Installationsmethoden finden Sie unter Install driver on a Kubernetes cluster.

helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.18.0

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?

Nein. Arm64-basierte Cluster werden nicht unterstützt.