Определение задачи не поддерживает тип_запуска FARGATE - PullRequest
0 голосов
/ 04 марта 2019

У меня есть приложение Fargate, работающее в AWS ECS, которое я пытаюсь обновить с помощью интерфейса командной строки AWS (aws-cli / 1.16.96 Python / 2.7.15 Darwin / 18.0.0 botocore / 1.12.86).

Я успешно построил и передал изображение и создал новую версию определения задачи.

Когда я пытаюсь обновить службу следующими командами:

aws ecs update-service 
    --cluster cluster-winquest-qa 
    --service container-qa-ge-service 
    --desired-count 0
aws ecs update-service 
    --cluster cluster-qa 
    --service container-service 
    --task-definition first-run-task-definition:5 
    --platform-version "LATEST"  
    --desired-count 1

Выдает следующее сообщение об ошибке:

An error occurred (InvalidParameterException) when calling the UpdateService operation: Task definition does not support launch_type FARGATE

Затем я попытался добавить --launch-type "FARGATE" к вышеупомянутой команде, построив следующую команду:

aws ecs update-service 
    --cluster cluster-qa 
    --service container-service 
    --task-definition first-run-task-definition:5 
    --platform-version "LATEST" 
    --launch-type "FARGATE"  
    --desired-count 1

Выдает: Unknown options: --launch-type, FARGATE

Я знаю, что в сообщении об ошибке сказано, что определение задачи не поддерживается для приложений Fargate, но я хочу знать, как я могу обновить службу до последнего определения задачиверсия с использованием AWS CLI.Буду признателен за любую помощь.Благодаря.

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Я решил это.Проблема заключалась в том, как я создавал новую версию определения задачи, там мне пришлось настроить requiresCompatibilities параметр, чтобы указать его.

Я использовал этот документ: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_AWSCLI_Fargate.html

0 голосов
/ 05 марта 2019

Если вы посмотрите на ссылку командной строки ecs здесь update-service не поддерживает флаг --launch-type.Причина, по которой он не поддерживает этот флаг, заключается в том, что вы пытаетесь обновить уже созданную службу.Вы можете указать тип запуска только при запуске create-service ( здесь ).

Причина, по которой вы можете получить первую ошибку, заключается в том, что вы не создали кластер, используя Powered by AWS Fargate тип кластера.Вы используете флаг --platform-version, который используется только для кластеров типа Fargate (упомянутых в документации AWS).

Кроме того, чтобы позволить вашей службе использовать последнее определение задачи, вы можете просто не используйте флаг --task-definition, потому что по умолчанию, если версия не указана, используется последняя версия ACTIVE.

...