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

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


person Rajaneesh    schedule 29.10.2018    source источник


Ответы (1)


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

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

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

person Rico    schedule 29.10.2018
comment
Спасибо за разъяснение, это очень помогло. В нашем случае содержимое S3 не будет меняться ежедневно, его статические файлы будут обновляться каждые 3-4 месяца один раз. Ваш последний комментарий имеет смысл, мы передумаем. - person Rajaneesh; 30.10.2018