Как стать автором
Обновить

Комментарии 8

я не настоящий девопсер, но есть же kraken или dragonfly - p2p распространение докер образов. Хотя это не решит проблему высокой нагрузки на диск при pull, только ускорит само скачивание образов. С другой стороны у dragonfly тоже есть прогрев, но прогреет он только кэш самого dragonfly, а не кэш докера.

Спасибо за комментарий. У AWS есть более нативные методы, которые по некоторым причинам не подошли, ссылки на них в конце текста.

Про dragonfly почитаю, спасибо )

Проблемы с самим скачиванием образов нет, внутри AWS используются VPC endpoints, что означает что трафик даже в публичную сеть не выходит.
Тут больше про то, что много больших образов в один момент делают пулл и что самое важное, после этого делают операцию разархивирования (и вот тут начинаются проблемы с системными daemon set, да и в целом с нодой). А т.к. изначально нет кеша, то все образы выкачиваются полностью в один момент времени (

https://nydus.dev ещё есть, но это прямо для сильных ребят, я все ни как не начну пользоваться

Для AI\ML выглядит как must have.
Оч интересная вещь.

P.S.: Нужно конвертировать образы в проприетарный формат, не каждый проект пойдет на это. Но оч любопытно, да.

  • a userspace filesystem called rafs on top of a container image format

  • an image manifest that is compatible with OCI spec of image and distribution

Прочитал только спойлер, но для таких задач, я бы брал бы опен круиз и их apps.kruise.io/image-predownload-parallelism

Мое имхо)

Интересное решение, не работал с ним.
Да, кажется они решают тот же кейс, что и описан в статье. Но не уверен, что тут покрывается шаг с cloud-init(который описан в статье). Хотя вероятно нужно лучше доку почитать.
https://openkruise.io/docs/best-practices/ci-pipeline-image-predownload/

Основная проблема больших образов это экстрактинг слоев, так как он последовательный, в отличие от загрузки, которая происходит параллельно. При этом в мире ML образы могут быть и по 20-30 гб.

Есть интересные варианты, связанные с lazy-loading. Многие уже примеры выше присылали. eStargz, SOCI, Nydus

Также стоит посмотреть на формат сжатия образа ZSTD. Gzip старый формат и Facebook придумали алгоритмы, как все это дело оптимизировать. Билдим образ через buildx с форматом сжатия zstd и вуаля - образ экстрактится в разы быстрее.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий