Назад | Перейти на главную страницу

Почему тома Kubernetes HostPath являются только одноузловыми?

В Kubernetes вы можете создать том для подключения к модулю с типом HostPath, чтобы указать, что хранилище должно быть предоставлено каталогом на узле, на котором запущен модуль.

В документации указано: «Тестирование только одного узла - локальное хранилище никак не поддерживается и НЕ БУДЕТ РАБОТАТЬ в многоузловом кластере», но я не могу найти никакой документации относительно Зачем то есть.

Одна из причин, которые мне приходят в голову, заключается в том, что путь должен существовать на каждом узле в кластере и должен быть согласованным, чтобы модуль можно было легко перемещать от узла к узлу. Но было бы достаточно легко смонтировать диск NFS в согласованную точку монтирования на всех узлах, чтобы это ограничение было удовлетворено.

Есть ли другие причины, о которых кто-нибудь знает? Возможно, плагин "HostPath" просто не предназначен для производственного использования, потому что другие более полезны, а все усилия по кодированию ушли на других?

Как вы сказали, это потому, что данные не будут синхронизироваться между несколькими узлами. Это наверное Хорошо, чтобы сделать какое-то странное решение для синхронизации между несколькими узлами, если только один модуль будет получать доступ к данным за раз, но это быстро становится головной болью с несколькими модулями.

Вместо того, чтобы синхронизировать каталог с чем-то вроде nfs, просто используйте его в качестве тома вместо тома HostPath. Kubernetes уже поддерживает nfs как том, а также многие другие решения.