AWS - ECS - Как я могу повторно развернуть обновленный образ Docker на существующем экземпляре ECS (с 1 EC2)? - PullRequest
0 голосов
/ 27 декабря 2018

Сначала я создал в AWS репозиторий с изображением Docker.

Затем я создал определение задачи и кластер ECS / EC2.Наконец, я создал сервис, используя кластер и определение задачи.Работает отлично.

Как повторно развернуть обновленный образ Docker в существующем кластере?

Простое «обновление» службы новой (или существующей) задачей не работает.Даже с опцией «Принудительное новое развертывание» ничего не происходит.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Если вы не укажете тег изображения ECR в своем определении контейнера, он всегда будет выбирать самый последний.Таким образом, у вас есть 2 способа выполнить повторное развертывание.

  1. Убедитесь, что в вашей службе достаточно места для развертывания новой задачи, например, если желаемое значение Number of tasks равно 1,затем вам нужно установить Maximum percent на 200, это означает, что вы можете разрешить 1 * 200% = 2 задачам, выполняющимся одновременно при выполнении развертывания, затем просто введите следующую команду: aws ecs update-service --cluster <cluster name> --service <service name> --force-new-deployment

  2. Или после того, как вы обновите свой образ до ECR, вы можете просто вручную убить существующую задачу и создать новую (обычно процесс создания должен выполняться самим ECS, пока ваша конфигурация автоматического масштабированиянастроен правильно).

0 голосов
/ 27 декабря 2018

Согласно документации AWS, вы не можете этого сделать ... вы можете прочитать ее здесь - https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html

только с помощью «Создать новую редакцию определения задачи». Определение задачи -> ->создайте новую ревизию

, она будет использовать «последнюю» версию в вашем репо (лучше пометить ее самой последней, конечно) или добавить тег самостоятельно.

Кстати, я бы использовал автоматизированный процессдля этих обновлений как части ci / cd с json для этого использования, если вы уже не собираетесь это делать.

...