Как узнать время загрузки изображения в ECS? - PullRequest
0 голосов
/ 06 августа 2020

Я хочу отслеживать время загрузки образа при запуске нового развертывания. Я видел, что сведения о событии задачи в консоли ECS могут дать мне приблизительную оценку, но я не могу точно сказать, было ли затраченное время временем загрузки образа или чем-то еще. Я также хотел бы знать, использует ли он кешированное изображение или из удаленного репозитория. Есть ли способ сделать это? Пожалуйста, помогите

1 Ответ

0 голосов
/ 07 августа 2020

Но я не могу точно сказать, затраченное время - это время загрузки изображения или что-то еще

Не уверен, что вы можете рассчитать время извлечения изображения из AWS событий ECS, как это сделал я не найти его в событии ECS , но один из простейших подходов, который вы можете попробовать, - это загрузить руководство по изображениям на свой экземпляр ECS, которое даст более точную оценку, используя time с docker pull.

time docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
Digest: sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321
Status: Image is up to date for alpine:latest

real    0m5.789s
user    0m0.033s
sys 0m0.039s

Я также хотел бы знать, использует ли он кешированный образ или из удаленного репозитория. Есть ли способ сделать это?

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

ECS_IMAGE_PULL_BEHAVIOR

Example values: default | always | once | prefer-cached

Значение по умолчанию Linux: по умолчанию

Значение по умолчанию Windows: по умолчанию

Поведение, используемое для настройки процесса извлечения образа для ваших экземпляров контейнера. Ниже описаны дополнительные варианты поведения:

Если указано по умолчанию , изображение извлекается удаленно. Если получение изображения завершается неудачно, контейнер использует кэшированное изображение на экземпляре.

Если указано всегда , изображение всегда извлекается удаленно. Если получение изображения не удается, задача не выполняется. Эта опция гарантирует, что всегда будет загружаться последняя версия образа. Любые кэшированные изображения игнорируются и подлежат процессу автоматической очистки.

Если указано один раз , изображение извлекается удаленно, только если оно не было извлечено предыдущей задачей на тот же экземпляр контейнера или если кэшированный образ был удален в процессе автоматической очистки образа. В противном случае используется кэшированное изображение в экземпляре. Это гарантирует, что не будет предпринято никаких ненужных попыток извлечения изображений.

Если указано предпочитаемое кэширование , изображение извлекается удаленно, если кэшированного изображения нет. В противном случае используется кэшированное изображение на экземпляре . Автоматическая очистка образа отключена для контейнера, чтобы гарантировать, что кэшированный образ не будет удален.

ecs-agent-config

amazon-ecs -adds-options-to-ускорение-время-запуска-контейнера

...