AWS ECS-Task bleibt bei BEREITSTELLUNG hängen

AWS ECS-Task bleibt bei BEREITSTELLUNG hängen

Ich habe einen ECS-Cluster mit einem Kapazitätsanbieter und einem Dienst. Der Kapazitätsanbieter betreibt eine Autoscale-Gruppe, und wenn eine Instanz dieser Gruppe gestartet wird, kann ich am Ende sehen, dass ECS-Instanzen verfügbar sind. Tatsächlich kann ich über SSH eine Verbindung zu ihnen herstellen.

Der Dienst läuft auch gut, da er eine neue Aufgabe erstellt, die auf einem Docker-Image im ERS-Repository basiert. Die Aufgabe wird jedoch nie von „PROVISIONING“ aus weitergeleitet, und wenn ich die Aufgabe öffne, kann ich sehen, dass der Container der Aufgabe leer ist und geladen wird. Wenn ich meine Instanz betrete, sehe ich dieselbe Docker-Instanz, wenn ich docker psoder mache docker ps -a. Wenn ich den Agenten ausführe, docker exec id_docker /agentsehe ich:

level=info time=2022-05-02T21:16:05Z msg="Successfully got ECS instance credentials from provider: EC2RoleProvider" module=instancecreds.go
level=info time=2022-05-02T21:16:05Z msg="Starting Amazon ECS Agent" version="1.61.0" commit="05730614"
level=info time=2022-05-02T21:16:05Z msg="Loading configuration"
level=info time=2022-05-02T21:16:05Z msg="Successfully got ECS instance credentials from provider: EC2RoleProvider" module=instancecreds.go

Wenn ich es mit versuche, docker exec id_docker basherhalte ich eine Fehlermeldung:

OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown

Was ist hier los? Irgendeine Ahnung?

Antwort1

Was ich nach dem Ausführen docker psvon wsa hatte, war eigentlich ecs-agent, was Amazon zur Steuerung des Containers erstellt. Das war der feststeckende Teil. Mein Docker lief tatsächlich nicht einmal.

Um das Problem zu lösen, geben Sie beim Erstellen der Aufgabe in den Containeroptionen, wenn Sie die Ports des Containers auswählen, die zum Host umgeleitet werden sollen, in Ihren Hostwerten eine 0 ein. Leiten Sie z. B. Port 22 auf 22 um -> 0 auf 22. Dies ist eine dynamische Portzuordnung in ECS.

verwandte Informationen