Я хотел скопировать корзину S3 на узлы Kubernetes как DaemonSet, так как новый узел также получит копию корзины s3, как только он будет запущен, я предпочитаю копию S3 для узла Kubernetes, потому что копирование S3 непосредственно в модуль в качестве AWS API будет означать несколько вызовов, так как это требуется для нескольких модулей, и для копирования контента каждый раз при запуске модуля потребуется время.
Как скопировать ведро S3 на ноды Kubernetes
Ответы (1)
Предполагая, что ваш контент S3 статичен и не меняется часто. Я считаю, что больше, чем DaemonSet
, имеет смысл использовать одноразовый Задание для копирования всего сегмента S3 в локальный диск. Непонятно, как вы сигнализируете kube-scheduler, что ваш узел не готов, пока корзина S3 не будет полностью скопирована. Но, возможно, вы сможете taint
свой узел до завершения работы. и удалите загрязнения после завершения работы.
Также обратите внимание, что S3 по своей сути медленный и предназначен для использования для обработки (чтения / записи) отдельных файлов за раз, поэтому, если в вашем сегменте большой объем данных, его копирование на диск узла займет много времени.
Если ваш контент S3 динамически (постоянно меняется), это будет сложнее, так как вам придется синхронизировать файлы. Вашим приложениям, вероятно, придется кэшировать архитектуру, в которой вы переходите на локальный диск для поиска файлов, и если их там нет, то отправляйте запрос к S3.