В кластере ecs у меня есть служба, работающая с двумя экземплярами ec2. И я обновляю определение задачи, чтобы взять новый образ докера. Но старое определение задачи все еще выполняется, хотя существует новое определение задачи.
Я использовал следующие команды для обновления определения задачи и службы.
aws ecs register-task-definition --family service90-task --cli-input-json file://service90-task.json
aws ecs update-service --cluster service90-cluster --service service90-service --desired-count 0
TASK_REVISION=`aws ecs describe-task-definition --task-definition service90-task | egrep "revision" | tr "/" " " | awk '{print $2}' | sed 's/"$//'`
aws ecs update-service --cluster service90-cluster --service service90-service --task-definition service90-task:${TASK_REVISION} --desired-count 2
Я пытался несколько раз, но не могу понять, где я ошибся. Я хочу, чтобы служба ecs запускала новое определение задачи вместо старого.
источник
Чтобы обновить определение задачи в «задачах», запущенных в сервисе, необходимо удалить задачи и запустить новую задачу.
Таким образом, я решаю проблему обновления определения задач в задачах.
Я написал следующий код:
источник
Я долго ломал голову над этим и до прошлой недели нигде не нашел жизнеспособного решения.
AWS только что выпустила новый API, в котором есть опция --force для удаления службы. Проблема Целевой группы, с которой вы сталкиваетесь, заключается просто в том, что Целевая группа, зарегистрированная в вашей задаче, уже удалена, и вы не можете привязать к ней новую Целевую группу. Таким образом, поскольку эта задача и служба повреждены, единственный способ решить проблему - удалить ее, вы больше не можете ее обновлять.
Вы можете использовать эту команду, чтобы удалить ваш сервис сейчас; это было невозможно на прошлой неделе!
Надеюсь это поможет
источник