AWS-ECS Task Services перезапускают автоматизацию - PullRequest
0 голосов
/ 10 июля 2019

В настоящее время мы запускаем приложение с микросервисами безсерверной архитектуры с использованием AWS ECS. При каждом развертывании или обновлении новых артефактов в ECR нам необходимо перезапускать службы, меняя задачи с 0 на 1 и наоборот, чтобы перезапустить службу и забрать ее. новые артефакты. Поскольку мы знаем, что этот процесс является очень ручным, и предпринимаются некоторые шаги для его выполнения, я хочу автоматизировать его, возможно ли использовать AWS-lambda или cloudwatch? или любую конфигурацию, если пропустить ручной процесс. Какой код, язык и пример автоматизации мне нужны для достижения этой цели?

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Настройка, которая может работать при наличии конвейера CI / CD при загрузке в ECR, запускает лямбду, которая сбрасывает соответствующую службу.Предоставление любых переменных в лямбду, таких как тег ECR для получения или имя службы.ECS имеет возможность перезапустить службы с ForceNewDeployment .В Python вызов будет выглядеть так:

        updateTrigger = client.update_service(
        cluster = myClusterName,
        service = serviceToUpdate,
        desiredCount = 1,
        forceNewDeployment=True
    )   

From https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.update_service

0 голосов
/ 10 июля 2019

Взгляните на скрипт ecs-deploy .По сути, он заменит существующий сервис последним (или конкретным) изображением из ECR.Таким образом, если у вас есть автоматизация для обновления ECR с последним образом, этот сценарий развернет этот образ в ECS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...