Direkt zum Inhalt

Wie behebe ich Zeitplanprobleme für Amazon ECS-Aufgaben, die auf EC2-Instances ausgeführt werden?

Lesedauer: 4 Minute
0

Amazon Elastic Container Service (Amazon ECS) platziert meine Aufgaben nicht wie erwartet auf meinen Amazon Elastic Compute Cloud (Amazon EC2)-Instances.

Lösung

Wenn Amazon ECS die Aufgabe nicht platzieren kann, verbleibt die Aufgabe im Status WIRD BEREITGESTELLT. In der Serviceereignismeldungen wird der folgende Fehler angezeigt:

„Der Service „service-name“ konnte keine Aufgabe platzieren, da keine Container-Instance alle Voraussetzungen erfüllt hat.“

Um dieses Problem zu beheben, überprüfe die Service-Ereignismeldungen zu diesem Fehler. Führe dann die Schritte zur Fehlerbehebung basierend auf dem Fehlergrund durch.

In deinem Cluster wurden keine Container-Instances gefunden

Wenn du EC2-Instances nicht im Cluster registrierst, erhältst du eine Fehlermeldung. Prüfe den Kapazitätsanbieter oder die Amazon EC2 Auto Scaling-Gruppe, den du konfiguriert hast, auf Probleme bei der Skalierung oder beim Instance-Start.

Wenn die Instance gestartet wurde, überprüfe, warum sie nicht mit dem Cluster verbunden ist.

Für die am nächsten passende (container-instanz abcdexyz) sind nicht genügend CPU-/Speicher-/GPU-Einheiten verfügbar

Dieses Problem tritt auf, wenn die verfügbaren Container-Instances nicht über die CPU, den Arbeitsspeicher oder die GPU verfügen, die die Aufgabe anfordert. Gehe wie folgt vor, um dieses Problem zu beheben:

Um weitere Probleme mit CPU zu beheben, siehe Wie behebe ich den Fehler „Die am ehesten passende Container-Instance-ID der Container-Instance verfügt über unzureichende CPU-Einheiten“ in Amazon ECS?

Die am ehesten passende (Container-Instance abcdexyz) verwendet einen Port, der für die Aufgabe erforderlich ist

Dieses Problem tritt auf, wenn die Container-Instance bereits den erforderlichen Port verwendet. Du kannst nicht mehrere Aufgaben auf demselben Port ausführen. Um dieses Problem zu beheben, füge mehr Container-Instances zum Cluster hinzu. Es hat sich bewährt, die Container-Instances automatisch zu skalieren. Erstellen eines Kapazitätsanbieter für den Cluster. Oder verwende dynamische Port-Zuweisung, damit die Aufgaben jeden verfügbaren Port auf einer Container-Instance verwenden können.

Die am ehesten passende (Container-Instance abcdexyz) fehlt ein für die Aufgabe erforderliches Attribut

Dieses Problem tritt auf, wenn die Container-Instance ein in der Aufgabendefinition definiertes erforderliches Attribut fehlt. Um nach fehlenden Attributen zu suchen, führe den Befehl check-attributes für die Amazon ECS-Befehlszeilenschnittstelle (ECS CLI) aus:

ecs-cli check-attributes --container-instances container-instance --cluster cluster-name --region region-code --task-def task-def-name

Hinweis: Ersetze container-instance durch den Namen deiner Container-Instance, cluster-name durch den Namen deines Clusters, region-code durch deine AWS-Region und task-def-name durch deine Aufgabendefinition.

Die Ausgabe des vorherigen Befehls zeigt eine Tabelle mit den fehlenden erforderlichen Attributen. Informationen zur Problembehebung bei fehlenden Attributen findest du unter Prüfen auf fehlende Attribute und Debuggen von Fehlern bei Ursachenattributen auf der GitHub-Website.

Die am ehesten passende (Container-Instance abcdexyz) ist mit dem Agent nicht verbunden

Dieses Problem tritt auf, wenn der Amazon ECS-Agent die Verbindung trennt. Informationen zur Behebung dieses Problems findest du in den folgenden Artikeln:

Bei der am ehesten passenden (Container-Instanz abcde.xyz) ist der Fehler „MemberOf-Platzierungseinschränkung nicht erfüllt“ aufgetreten.

Wenn du Platzierungsbeschränkungen verwendest, um Aufgaben in bestimmten Instances zu platzieren, stelle sicher, dass die Container-Instances die ausgewählten Attribute oder Einschränkungen unterstützen.

Weitere Informationen findest du unter Wie kann ich Probleme mit Amazon ECS-Aufgabenplatzierungsbeschränkungen beheben?

Ähnliche Informationen

Problembehandlung bei Amazon ECS

AWS OFFICIALAktualisiert vor 2 Jahren