Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Wenn Ihre Container-App nicht ordnungsgemäß funktioniert, kann ein Blick in die Protokolle und Konfigurationseinstellungen von Azure Container Apps zugrunde liegende Probleme offenbaren. Im folgenden Leitfaden erfahren Sie, wie Sie Details zu Ihrer Container-App finden und anzeigen.
Die folgende Tabelle enthält Probleme, die bei der Verwendung von Azure Container Apps auftreten können, sowie die Aktionen, die Sie ausführen können, um sie zu beheben.
Szenario | Beschreibung | Aktionen |
---|---|---|
Alle Szenarien |
Anzeigen von Protokollen Beheben von Problemen mithilfe der Diagnose |
|
Fehler beim Bereitstellen einer neuen Revision | Beim Versuch, eine neue Revision bereitzustellen, wird eine Fehlermeldung angezeigt. | Vergewissern, dass Container Apps Ihr Containerimage pullen kann |
Bereitstellung dauert zu lange | Nachdem Sie eine neue Revision bereitgestellt haben, hat diese dauerhaft einen Bereitstellungsstatus mit dem Wert Wird bereitgestellt und einen Ausführungsstatus mit dem Wert Verarbeitung läuft. | Vergewissern, dass Integritätstests korrekt konfiguriert sind |
Revision beeinträchtigt | Die Bereitstellung einer neuen Revision dauert länger als zehn Minuten. Letztendlich hat sie einen Bereitstellungsstatus mit dem Wert Bereitgestellt, aber einen Ausführungsstatus mit dem Wert Beeinträchtigt. In der QuickInfo für den Ausführungsstatus ist Folgendes angegeben: Details: Deployment Progress Deadline Exceeded. 0/1 replicas ready. |
Vergewissern, dass Integritätstests korrekt konfiguriert sind |
Nicht erfolgreiche Anforderungen für Endpunkte | Der Container-App-Endpunkt antwortet nicht auf Anforderungen. | Überprüfen der Konfiguration für eingehenden Datenverkehr |
Rückgabe des Status 403 bei Anforderungen | Der Endpunkt der Container-App antwortet auf Anforderungen mit dem HTTP-Fehler 403 (Zugriff verweigert). | Vergewissern, dass die Netzwerkkonfiguration korrekt ist |
Unerwartete Antworten | Der Endpunkt der Container-App antwortet zwar auf Anforderungen, die Antworten sind jedoch nicht wie erwartet. |
Vergewissern, dass Datenverkehr an die richtige Revision weitergeleitet wird Vergewissern, dass beim Bereitstellen von Images für die Containerregistrierung eindeutige Tags verwendet werden |
Fehler aufgrund fehlender Parameter | Sie erhalten Fehlermeldungen zu fehlenden Parametern, wenn Sie az containerapp -Befehle in der Azure CLI oder Cmdlets aus dem Az.App -Modul in Azure PowerShell ausführen. |
Überprüfen, ob die aktuelle Version der Azure Container Apps-Erweiterung installiert ist |
Keine Previewfunktionen verfügbar |
Previewfunktionen sind nicht verfügbar, wenn Sie az containerapp -Befehle in der Azure CLI ausführen. |
Überprüfen, ob die Azure Container Apps-Erweiterung Vorschaufeatures zulässt |
Das Löschen Ihrer App oder Umgebung funktioniert nicht | Dieses Problem wird häufig von einer Meldung wie provisioningState: ScheduledForDelete begleitet. | Manuelles Löschen des zugeordneten VNet |
Einer der ersten Schritte bei der Suche nach Problemen mit Ihrer Container-App ist die Betrachtung von Protokollmeldungen. Sie können sowohl die Ausgabe von Konsolenprotokollen als auch die Ausgabe von Systemprotokollen anzeigen. Im Konsolenprotokoll Ihrer Container-App werden die Streams stdout
und stderr
der App erfasst. Container Apps generiert Systemprotokolle für Ereignisse auf Dienstebene.
Sie können das Tool Diagnose und Problembehandlung verwenden, um Probleme mit der Integrität, Konfiguration und Leistung Ihrer Container-App zu finden.
Wenn beim Versuch, eine neue Revision bereitzustellen, eine Fehlermeldung angezeigt wird, vergewissern Sie sich, dass Container Apps Ihr Containerimage pullen kann.
Vergewissern Sie sich bei einem Docker-Container, der als Konsolenanwendung ausgeführt werden kann, dass Ihr Image öffentlich zugänglich ist, indem Sie den folgenden Befehl an einer Eingabeaufforderung mit erhöhten Rechten ausführen. Ersetzen Sie von <>
umgebene Platzhalter mit Ihren Werten, bevor Sie den Befehl ausführen.
docker run --rm <YOUR_CONTAINER_IMAGE>
Vergewissern Sie sich, dass Docker Ihr Image ohne Fehlermeldungen ausführt. Stellen Sie bei Verwendung von Docker unter Windows sicher, dass das Docker-Modul ausgeführt wird.
Ist Ihr Image nicht öffentlich zugänglich, tritt ggf. folgender Fehler auf:
docker: Error response from daemon: pull access denied for <YOUR_CONTAINER_IMAGE>, repository does not exist or may require 'docker login': denied: requested access to the resource is denied. See 'docker run --help'.
Weitere Informationen finden Sie unter Netzwerk in der Azure Container Apps-Umgebung.
Die Einstellungen für eingehenden Datenverkehr Ihrer Container-App werden über eine Reihe von Regeln erzwungen, die das Routing von externem und internem Datenverkehr an Ihre Container-App steuern. Wenn Sie keine Verbindung mit Ihrer Container-App herstellen können, überprüfen Sie diese Einstellungen für eingehenden Datenverkehr, um sicherzustellen, dass Anforderungen nicht durch Ihre Eingangseinstellungen blockiert werden.
Abgang | Aktion |
---|---|
Ist eingehender Datenverkehr aktiviert? | Vergewissern Sie sich, dass das Kontrollkästchen Aktiviert aktiviert ist. |
Möchten Sie externen eingehenden Datenverkehr zulassen? | Vergewissern Sie sich, dass Eingehender Datenverkehr auf Datenverkehr von überall aus akzeptieren festgelegt ist. Wenn Ihre Container-App nicht auf HTTP-Datenverkehr lauscht, legen Sie Eingehender Datenverkehr auf Auf Container Apps-Umgebung beschränkt fest. |
Verwendet Ihr Client HTTP oder TCP für den Zugriff auf Ihre Container-App? | Vergewissern Sie sich, dass Eingangstyp auf das korrekte Protokoll festgelegt ist (HTTP oder TCP). |
Unterstützt Ihr Client mTLS? | Vergewissern Sie sich, dass Clientzertifikatmodus auf Erfordern festgelegt ist (nur, wenn Ihr Client mTLS unterstützt). Weitere Informationen finden Sie unter Konfigurieren der Clientzertifikatauthentifizierung. |
Verwendet Ihr Client HTTP/1 oder HTTP/2? | Vergewissern Sie sich, dass Transport auf die korrekte HTTP-Version festgelegt ist (HTTP/1 oder HTTP/2). |
Ist der Zielport korrekt festgelegt? | Vergewissern Sie sich, dass Zielport auf den Port festgelegt ist, an dem Ihre Container-App lauscht, bzw. auf den Port, der vom Dockerfile Ihrer Container-App verfügbar gemacht wird. |
Wird Ihre Client-IP-Adresse abgelehnt? | Wenn IP-Sicherheitseinschränkungsmodus nicht auf Gesamten Datenverkehr zulassen festgelegt ist, vergewissern Sie sich, dass Ihr Client keine IP-Adresse hat, die verweigert wird. |
Weitere Informationen finden Sie unter Eingang in Azure Container Apps.
Rekursive Resolver von Azure verwenden die IP-Adresse 168.63.129.16
, um Anforderungen aufzulösen.
168.63.129.16
weitergeleitet werden.168.63.129.16
nicht zu blockieren.Weitere Informationen finden Sie unter Netzwerk in der Azure Container Apps-Umgebung.
Vergewissern Sie sich für alle Arten von Integritätstests (Live-, Bereitschafts- und Starttests), die TCP als Transportprotokoll verwenden, dass die Portnummern dem Zielport für eingehenden Datenverkehr entsprechen, den Sie für Ihre Container-App konfiguriert haben.
Werte für Port können wie folgt aktualisiert werden:
Wenn eingehender Datenverkehr aktiviert ist, werden die folgenden Standardtests automatisch dem Hauptcontainer der App hinzugefügt, wenn nicht für jeden Typ einer definiert ist.
Hier finden Sie die Standardwerte für die einzelnen Arten von Tests:
Eigenschaft | Startup | Bereitschaft | Livezustand |
---|---|---|---|
Protokoll | TCP | TCP | TCP |
Port | Zielport für eingehenden Datenverkehr | Zielport für eingehenden Datenverkehr | Zielport für eingehenden Datenverkehr |
Timeout | 3 Sekunden | 5 Sekunden | Nicht zutreffend |
Zeitraum | 1 Sekunde | 5 Sekunden | Nicht zutreffend |
Anfängliche Verzögerung | 1 Sekunde | 3 Sekunden | Nicht zutreffend |
Schwellenwert für Erfolg | 1 | 1 | Nicht zutreffend |
Schwellenwert für Fehler | 240 | 48 | Nicht zutreffend |
Wenn der Start Ihrer Container-App länger dauert (was in Java nicht ungewöhnlich ist), müssen Sie ggf. die Eigenschaft Anfängliche Verzögerung in Sekunden Ihrer Live- und Bereitschaftstests entsprechend anpassen. Sie können sich die Protokolle ansehen, um die typische Startzeit für Ihre Container-App zu ermitteln.
Anschließend können Sie sich die Protokolle ansehen, um zu ermitteln, ob Ihre Container-App erfolgreich startet.
Weitere Informationen finden Sie unter Integritätstests in Azure Container Apps.
Wenn Ihre Container-App nicht wie erwartet funktioniert, werden Anforderungen möglicherweise an eine veraltete Revision weitergeleitet.
Wenn Revisionsmodus auf Single
festgelegt ist, wird der gesamte Datenverkehr standardmäßig an Ihre neueste Revision weitergeleitet. Auf der Registerkarte Aktive Revisionen sollte nur eine einzelne Revision angezeigt werden, und der Wert für Datenverkehr sollte auf 100%
festgelegt sein.
Wenn Revisionsmodus auf Multiple
festgelegt ist, vergewissern Sie sich, dass Datenverkehr nicht an veraltete Revisionen weitergeleitet wird.
Weitere Informationen zum Konfigurieren der Datenverkehrsaufteilung finden Sie unter Datenverkehrsaufteilung in Azure Container Apps.
Falls Sie Fehler aufgrund fehlender Parameter erhalten, wenn Sie az containerapp
-Befehle in Azure CLI oder Cmdlets aus dem Az.App
-Modul in Azure PowerShell ausführen, stellen Sie sicher, dass die neueste Version der Azure Container Apps-Erweiterung installiert ist.
az extension add --name containerapp --upgrade
Wenn keine Previewfunktionen verfügbar sind, wenn Sie az containerapp
-Befehle in der Azure CLI ausführen, aktivieren Sie Vorschaufeatures in der Azure Container Apps-Erweiterung.
az extension add --name containerapp --upgrade --allow-preview true
Wenn Sie die Meldung provisioningState: ScheduledForDelete erhalten, ihre Umgebung jedoch nicht tatsächlich gelöscht werden kann, stellen Sie sicher, dass Sie das zugeordnete VNet manuell löschen.
Identifizieren Sie das VNet, das von der Umgebung verwendet wird, die Sie löschen möchten. Ersetzen Sie die <PLATZHALTER> durch Ihre Werte.
az containerapp env show --resource-group <RESOURCE_GROUP> --name <ENVIRONMENT>
Suchen Sie infrastructureSubnetId
und notieren Sie sich in der Ausgabe die VNet-ID. Ein Beispiel für eine VNet-ID ist vNet::myVNet.id
.
Manuelles Löschen des VNet:
az network vnet delete --resource-group <RESOURCE_GROUP> --name <VNET_ID>
Löschen der Azure Container Apps-Umgebung:
az containerapp env delete --resource-group <RESOURCE_GROUP> --name <ENVIRONMENT> --yes
Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Konfigurieren einer Containerapp in Azure Container Apps - Training
Dieses Modul führt Benutzer durch das Erstellen, Konfigurieren und Verwalten von Container Apps und deren Umgebungen. Außerdem werden Eingangsoptionen, Skalierung, Instanzenverwaltung und Sicherheitsüberlegungen mit bewährten Methoden zum Konfigurieren von Azure Container Apps erkundet.
Dokumentation
Integritätstests in Azure Container Apps
Überprüfen von Start, Livezustand und Bereitschaft mit Azure Container Apps-Integritätstests
Verwalten von Revisionen in Azure Container Apps
Verwalten von Revisionen in Azure Container Apps
Aktualisieren und Bereitstellen von Änderungen in Azure Container Apps
Erfahren Sie, wie Sie Änderungen in Azure Container Apps mithilfe von Überarbeitungen vornehmen.