Как скопировать ведро S3 на узлы Kubernetes

Я хотел скопировать корзину S3 на узлах Kubernetes как DaemonSet, так как новый узел также получит копию корзины s3, как только он будет запущен, я предпочитаю копию S3 на узел Kubernetes, потому что копирование S3 непосредственно в модуль в качестве API AWS будет означать несколько вызовов, так как это требуется для нескольких модулей, и копирование контента будет происходить каждый раз при запуске модуля.

1 ответ

Решение

Предполагая, что ваш контент S3 является статическим и не часто меняется. Я верю больше, чем DaemonSet имеет смысл использовать одноразовое задание для копирования всей корзины S3 на локальный диск. Непонятно, как вы могли бы сигнализировать планировщику куба, что ваш узел не готов, пока корзина S3 не будет полностью скопирована. Но, возможно, вы можете taint Ваш узел до завершения задания и удалите помехи после завершения задания.

Также обратите внимание, что S3 по своей природе медленный и предназначен для одновременной обработки (чтения / записи) отдельных файлов, поэтому, если в вашем контейнере содержится большой объем данных, его копирование на диск узла может занять много времени.

Если ваш контент S3 динамически (постоянно меняется), то это будет более сложным, так как вам придется синхронизировать файлы. Ваши приложения, вероятно, должны были бы кешировать архитектуру, в которой вы должны были бы перейти на локальный диск, чтобы найти файлы, и если их там нет, то сделать запрос к S3.

Другие вопросы по тегам