Не видит созданный файл в каталоге хоста, смонтированном с помощью hostPath

#kubernetes

#kubernetes

Вопрос:

У меня есть кластер kubernetes из 1 главного и 1 рабочего. Я развернул 1 приложение nodejs и подключил каталог /home/user_name/data , используя hostPath тип тома, к pod. Тип, который я установил Directory для тома.

Приложение nodejs работает отлично, записывает данные и возвращает сохраненные данные без каких-либо ошибок.

Первоначально я также протестировал, удалив data папку и попытавшись применить развертывание, и я получил сообщение об ошибке, поскольку тип тома Directory . Таким образом, похоже, что монтирование правильно указывает на каталог в рабочем узле. Но когда я пытаюсь просмотреть файл, который должен быть создан приложением nodejs, я не вижу ни одного файла в каталоге хоста.

Я также проверил, запущен ли модуль на рабочем узле, и он работает только на рабочем узле.

Мое понимание hostPath типа тома заключается в том, что он похож на bindMount тип тома docker.

Я понятия не имею, почему я не могу видеть файл, который приложение nodejs создает и работает отлично. Любая помощь будет оценена.

Комментарии:

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

2. пожалуйста, добавьте volumes amp; volumeMounts в ваш файл yaml, чтобы получить больше ясности

3. @DavidMaze, да, вы правы. На самом деле я пытался прояснить свое понимание пути к хосту, поскольку мы используем небольшие временные кэши в нашем приложении, поэтому я подумал, можем ли мы использовать hostPath .

4. Вероятно, вам следует использовать его только в том случае hostPath , если вы запускаете что-то вроде сборщика журналов в качестве набора демонов, где модуль будет запускаться на каждом узле, и вы знаете, что один и тот же путь к файловой системе будет существовать на каждом узле с интересным содержимым. Это не то, что вы должны использовать обычно.