невозможно прочитать через файлы символьных ссылок операционной системы, которые монтируются в контейнере Windows - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь использовать fluentd для чтения файлов журналов pod kubernetes в кластере windows k8s (да, кластер windows version k8s).

Я обнаружил, что весь журнал модуля kubernetes находится в папке C:/var/log на операционной системе хоста, поэтому я планирую смонтировать эту папку в контейнер fluentd, чтобы он мог читать его.

Поскольку я обнаружил, что все файлы в папке C:/var/log являются файлами символьных ссылок, а настоящий целевой файл находится в папке C:\ProgramData\docker, поэтому я монтирую обе папки в модуль, поскольку я думаю, что файлы символических ссылок нуждаются внацеливание файлов также.

Но я обнаружил, что fluentd может читать прочитанный файл (под C:\ProgramData\docker), но не может читать через символьный файл под C:/var/log.

Так что я удален на свой узел Windows и пытаюсьпроверьте, запустив:

$ docker run --rm  -v c:/var/log:c:/var/log -v c:/ProgramData/docker:c:/ProgramData/docker -it mcr.microsoft.com/powershell powershell

И получил следующий результат:

PS C:\var\log\containers> type .\speller-col2-65679699c6-hjvhw_speller_speller-col2-ddd1788228d99678c04e85cc2438cb1646667ee0c751a9768b53da92df9f3103.log
type : The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached.
At line:1 char:1
+ type .\speller-col2-65679699c6-hjvhw_speller_speller-col2-ddd1788228d ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (C:\var\log\cont...a92df9f3103.log:String) [Get-Content], IOException
    + FullyQualifiedErrorId : GetContentReaderIOError,Microsoft.PowerShell.Commands.GetContentCommand

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

Я пытаюсь Google, но я не нахожу никакой подсказки.Есть ли кто-нибудь, кто пытался сделать то же самое раньше, или кто-то, кто может поделиться какой-то идеей, которую я могу попробовать?

...