#amazon-web-services #amazon-s3 #kubernetes #kubernetes-pod #s3fs
#amazon-веб-сервисы #amazon-s3 #kubernetes #kubernetes-pod #s3fs
Вопрос:
Я пытаюсь создать централизованный файловый репозиторий, в который я могу загружать все файлы конфигурации, необходимые для запуска приложения, которое развертывается как модуль внутри Kubernetes. Есть предложения по достижению этой функциональности? Может ли файловый репозиторий версировать загруженные файлы?
Я вижу, что для достижения этой цели можно использовать s3fs-fuse, но мне не хватает этого, он не будет поддерживать управление версиями добавленных файлов конфигурации в корзине S3. https://github.com/s3fs-fuse/s3fs-fuse
Есть другие предложения?
Ответ №1:
Вы можете использовать эластичную файловую систему, которая поддерживается EKS:
Приложения, работающие в Kubernetes, могут использовать файловые системы EFS для обмена данными между модулями в расширяемой группе или с другими приложениями, работающими внутри или за пределами Kubernetes. EFS также может помочь сделать приложения Kubernetes высокодоступными, поскольку все данные, записанные в EFS, записываются в несколько зон доступности AWS. Если модуль Kubernetes завершается и запускается повторно, драйвер CSI повторно подключит файловую систему EFS, даже если модуль повторно запущен в другой зоне доступности AWS.
Но это не S3, и у него нет управления версиями файлов, как у S3. Вам придется добавить такую функциональность самостоятельно, например, сохранив все в репозитории git в файловой системе EFS.
Комментарии:
1. Спасибо за ваш ответ. Как вы думаете, в EFS мы можем вручную загружать файлы и редактировать файлы?
2. @babs84 Да. EFS — это управляемая файловая система NFS. Таким образом, он ведет себя точно так же, как обычная NFS. Это не хранилище объектов, как S3.
3. Спасибо. Последний вопрос о достижении управления версиями. Вы упомянули, что мы можем добиться управления версиями, сохранив все в репозитории git в файловой системе EFS? что вы имеете в виду под этим? В пользовательском интерфейсе Amazon EFS также нет возможности загружать файлы
4. @babs84 Это то, что вы должны сделать сами, как вы бы делали на локальной рабочей станции. EFS не имеет встроенного механизма управления версиями.
5. @babs84 Нет проблем. Рад, что смог помочь.
Ответ №2:
Почему бы не использовать git?
В следующей статье приведен пример, который запускает a git clone
в initContainer:
https://blog .frankel.ch/versatility-kubernetes-initcontainer/