Wenn ich eine EC2-Aufgabe in Amazon Elastic Container Service (Amazon ECS) starte, erhalte ich die folgende Fehlermeldung: "[AWS service] was unable to place a task because no container instance met all of its requirements. The closest matching container-instance container-instance-id encountered error 'AGENT'."
Lösung
Dieser Fehler tritt auf, wenn der Amazon ECS-Container-Agent, der auf der Container-Instance ausgeführt wird, die für die Aufgabenplatzierung vorgesehen ist, getrennt wird.
Um diesen Fehler zu beheben, überprüfe die Agentenprotokolle und stelle sicher, dass der Agent auf der Instance ausgeführt wird. Starte anschließend den Agenten erneut.
Die Agentenprotokolle prüfen
Führe die folgenden Schritte aus:
- Verwende SSH, um eine Verbindung zur Container-Instance herzustellen.
- Prüfe die Agentenprotokolle unter /var/log/ecs/ecs-agent.log.YYYY-MM-DD-HH.
Hinweis: Ersetze den Beispiel-Zeitstempel durch den Zeitstempel für die Protokolle.
- Aktiviere vorübergehend die DEBUG-Protokolle für den ECS-Agenten mit dem Flag ECS_LOGLEVEL in der Datei /etc/ecs/ecs.config.
- Führe den entsprechenden Befehl aus, um den Agenten neu zu starten.
Wenn das Problem nach dem Neustart des Agenten nicht behoben ist, verwende die Debug-Protokolle, um das Problem zu beheben.
Sicherstellen, dass der Agent auf der Instance ausgeführt wird
-
Verwende SSH, um eine Verbindung zu deiner EC2-Instance herzustellen.
-
Führe den folgenden Befehl aus, um eine Liste der Container zurückzugeben:
docker ps
-
Suche nach einem Container mit dem Namen ecs-agent, der ausgeführt wird. Weitere Informationen findest du unter Warum sind meine Amazon-ECS-Container-Instances mit Amazon-Linux-1-AMIs nicht verbunden?
Agenten neu starten
Für ein Amazon ECS-optimiertes Amazon Machine Image (AMI) beende den Agenten und starte ihn mit dem entsprechenden Befehl neu.
Führe für Amazon ECS-optimierte Amazon Linux 2-AMIs den folgenden Befehl aus:
sudo systemctl restart ecs
Führe für Amazon ECS-optimierte Amazon Linux-AMIs den folgenden Befehl aus:
sudo stop ecs && sudo start ecs
Ähnliche Informationen
Wie behebe ich den Fehler in Amazon ECS?"[AWS service] was unable to place a task because no container instance met all of its requirements"
Wie behebe ich einen Fehler in Amazon ECS?"the closest matching container-instance container-instance-id has insufficient CPU units available"
Verwenden eines HTTP-Proxys für Amazon ECS Linux-Container-Instances
Aktualisieren des Amazon ECS-Container-Agenten auf einem Amazon ECS-optimierten AMI
Manuelles Aktualisieren des Amazon ECS-Container-Agenten (für nicht für Amazon ECS optimierte AMIs)