Определения задач AWS Fargate - PullRequest
0 голосов
/ 17 июня 2020

Допустим, я определяю определение задачи в AWS Fargate, это определение задачи будет использоваться для запуска задач, которые включают в себя многоконтейнерное приложение для 2 веб-серверов. Сколько определений задач мне понадобится, за сколько задач я буду платить и сколько сервисов будет создано?

Я прочитал много документации, но мне это не нравится. Кто-нибудь может объяснить взаимосвязь между: определениями задач, задачами, Docker контейнерами, службами и кластерами ECS Fargate?

1 Ответ

0 голосов
/ 17 июня 2020

Определение задачи - это спецификация. Вы используете его для определения одного или нескольких контейнеров (с URI изображений), которые вы хотите запускать вместе, вместе с другими деталями, такими как переменные среды, требования к процессору / памяти и т. Д. c. Определение задачи на самом деле ничего не запускает, это описание того, как все будет настроено, когда что-то действительно будет запущено.

Задача - это реально выполняемая вещь. ECS использует определение задачи для выполнения задачи; он загружает образы контейнеров, настраивает среду выполнения на основе других деталей в определении задачи. Вы можете запустить одну или несколько задач для любого заданного определения задачи. Каждая запущенная задача представляет собой набор из одного или нескольких запущенных контейнеров - все контейнеры в задаче работают в одном экземпляре.

Служба в ECS - это способ запуска N задач с использованием одного определения задачи, и оставьте эти N задач запущенными, если они неожиданно завершатся. Эти N задач могут выполняться в разных экземплярах в EC2 (хотя некоторые из них могут выполняться в одном экземпляре в зависимости от стратегии размещения, используемой для службы); на Fargate нет инстансов и задачи «просто выполняются», поэтому не нужно думать о стратегиях размещения. Вы также можете использовать службы для подключения этих задач к балансировщику нагрузки, чтобы запросы от клиента внутри или за пределами AWS могли равномерно маршрутизироваться между всеми N задачами. Вы можете обновить определение задачи, используемое службой, которое затем будет запускать последовательное обновление (запуск и завершение запущенных задач), чтобы все запущенные задачи использовали новую версию определения задачи после завершения развертывания. Это используется, например, когда вы создаете новый образ контейнера и хотите, чтобы ваша служба была обновлена ​​для использования последней версии.

Область действия службы ограничена кластером. Кластер - это на самом деле просто имя. Разные кластеры могут иметь разные политики и роли IAM, поэтому вы можете ограничить круг лиц, которые могут создавать службы в разных кластерах с помощью IAM.

...