Wie behebe ich den Fehler „no container instance met all of its requirements“ in Amazon ECS?

Lesedauer: 5 Minute
0

Ich möchte eine Aufgabe in Amazon Elastic Container Service (Amazon ECS) bereitstellen, erhalte jedoch die folgende Fehlermeldung: „[AWS service] was unable to place a task because no container instance met all of its requirements.“

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Wenn der Container-Instance eine Anforderung fehlt, kann Amazon ECS keine Aufgaben bereitstellen. Um den Fehler no container instance met all of its requirements zu beheben, überprüfe die Fehlerdetails und führe dann die entsprechenden Schritte zur Problembehandlung durch.

Fehlerdetail: Keine registrierten Container-Instances im Cluster

Dieses Problem tritt auf, wenn sich im Cluster keine Container-Instances befinden. Um dieses Problem zu beheben, füge Container-Instances zum Cluster hinzu. Stelle außerdem sicher, dass die Registrierung von Container-Instances beim Amazon ECS-Cluster nicht fehlschlägt.

Fehlerdetail: Bei der am nächsten passenden Container-Instance ist der Fehler „AGENT“ aufgetreten

Du erhältst diesen Fehler, wenn der Amazon ECS-Container-Agent, der auf der Container-Instance ausgeführt wird, die für die Aufgabenplatzierung vorgesehen ist, getrennt wird. Informationen zur Behebung dieses Fehlers findest du unter Wie behebe ich den Fehler „the closest matching container-instance container-instance-id encountered error 'AGENT'“ bei meinem Service in Amazon ECS?

Fehlerdetail: Die am nächsten passende Container-Instance verwendet bereits einen Port, der für die Aufgabe erforderlich ist

Du erhältst diesen Fehler, wenn ein Port, den die Container-Instance benötigt, bereits in der Instance verwendet wird. Du kannst nicht mehrere Aufgaben auf demselben Port ausführen. Um dieses Problem zu beheben, füge dem Cluster weitere Instance-Container hinzu. Oder verwende dynamische Port-Zuweisung, damit die Aufgaben jeden verfügbaren Port auf einer Container-Instance verwenden können.

Fehlerdetail: Für die am nächsten passende Container-Instance sind nicht genügend Speicher-, CPU- oder GPU-Einheiten verfügbar

Wenn du einen Fehler insufficient memory, insufficient GPU oder insufficient CPU erhältst, überprüfe die Ressourcen, die jede Aufgaben- und Container-Instance verwendet. Gehe wie folgt vor, um dieses Problem zu beheben:

Informationen zu unzureichender CPU findest du unter Wie behebe ich den Fehler „the closest matching container-instance container-instance-id has insufficient CPU units available“ in Amazon ECS?

Verwende die dynamische Skalierung für die Amazon ECS-Container-Instances, um dem Cluster basierend auf der CPU- oder Speicherressourcenauslastung automatisch weitere Instances hinzuzufügen. Überwache die Amazon CloudWatch-Metriken CpuUtilized und MemoryUtilized, um einen Schwellenwert für das System zu ermitteln. Verwende dann die schrittweise Skalierung der Zielüberwachung oder die Richtlinien für schrittweise und einfache Skalierung, um die Auto Scaling-Gruppe auf der Grundlage dieses Schwellenwerts zu skalieren. Weitere Informationen zur Überwachung der Ressourcennutzung findest du unter Container-Überwachung.

Fehlerdetail: Aufgabe kann nicht platziert werden, Ressourcen−ENI- oder Instance−Netzwerkschnittstellenlimit wurde überschritten

Wenn die Container-Instance keine verfügbaren Punkte zum Anfügen für Elastic Network-Schnittstellen hat, reduziere die Anzahl der Aufgaben und Aufgabenreplikate. Oder füge dem Cluster weitere Container-Instances hinzu. Wenn das Problem weiterhin besteht, verwende awsvpcTrunking, um die Dichte der Elastic-Network-Schnittstellen auf den Amazon Elastic Compute Cloud (Amazon EC2)-Instances zu erhöhen.

Fehlerdetail: Der am nächsten passenden Container-Instance fehlt das Attribut, das für die Aufgabe erforderlich ist

Hinweis: Informationen zur Installation von ecs-cli findest du unter amazon-ecs-cli auf der GitHub-Website.

Du erhältst diesen Fehler, wenn die Aufgabendefinition einen Parameter enthält, der ein Container-Instance-Attribut erfordert, das in der Container-Instance 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 dieses Befehls zeigt eine Tabelle mit den erforderlichen Attributen, die fehlen.

Du kannst einen Amazon-ECS-Service so konfigurieren, dass er in einem anderen Subnetz als dem Subnetz der Container-Instance ausgeführt wird. In diesem Fall zeigt die Ausgabe des Befehls ecs-cli-check-attributes für fehlende Attribute Keine an, obwohl die Aufgabe mit der Fehlermeldung „missing attribute“ fehlschlägt. Die Subnetze für den Service und die Container-Instance müssen übereinstimmen. Um dieses Problem zu beheben, erstelle den Amazon ECS-Service in dem Subnetz, in dem die Container-Instance vorhanden ist, neu. Weitere Informationen findest du unter Amazon ECS-Aufgabendefinitionsparameter.

Fehlerdetail: ABCDXYZ-Platzierungsbeschränkung nicht erfüllt

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.

Beispielsweise wird für distinctinstance jede aktive Aufgabe auf einer anderen Container-Instance platziert. Wenn 5 Aufgaben und 3 Container-Instances verfügbar sind, schlägt die Aufgabenplatzierung fehl und du erhältst den Fehler constraint unsatisfied. Um dieses Problem für dinstinctinstance zu beheben, füge dem Cluster weitere Container-Instances hinzu.

Ähnliche Informationen

Problembehandlung bei Amazon ECS

Einen ECS-Service erstellen

Wie behebe ich, Probleme, wenn Amazon-ECS-Aufgaben angehalten werden oder nicht gestartet werden, wenn mein Container beendet wird?

Amazon ECS-Service-Ereignismeldungen anzeigen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 4 Monaten