Как скопировать файлы из контейнера windows kubernetes pod - PullRequest
0 голосов
/ 05 февраля 2020

У меня были некоторые трудности с копированием файлов из контейнера pod kubernetes (windows узлов) в мою локальную подсистему linux в windows 10:

t@11DT:/mnt/c/dev/auto$ kubectl cp a8677:c:\testlog2.txt .
tar: Removing leading drive letter from member names
error: tar contents corrupted
t@11DT:/mnt/c/dev/auto$ kubectl cp a8677:/c/testlog2.txt ./
tar: /c/testlog2.txt: Couldn't find file: No such file or directory
tar: Error exit delayed from previous errors.
t@11DT:/mnt/c/dev/auto$ kubectl cp a8677:c:\testlog2.txt ./
tar: Removing leading drive letter from member names
error: tar contents corrupted
t@11DT:/mnt/c/dev/auto$ kubectl cp a8677:c:/testlog2.txt ./
tar: Removing leading drive letter from member names
error: tar contents corrupted
t@11DT:/mnt/c/dev/auto$ kubectl cp a8677:c:/testlog2.txt ./t2.txt
tar: Removing leading drive letter from member names
error: tar contents corrupted
t@11DT:/mnt/c/dev/auto$ kubectl cp a8677:c:\testlog2.txt ./t2.txt
tar: Removing leading drive letter from member names
error: tar contents corrupted

файл c:\testlog2.txt определенно существовал в pod a8677. Но как правильно обратиться к c:\testlog2.txt?


Примечание:

Некоторые модераторы предложили закрыть этот вопрос, так как он является дубликатом Как скопировать файлы из kubernetes Pods в локальную систему . Существующий вопрос о том, как копировать файлы в целом между linux узлами в кластерах kubernetes и linux локальными системами. Эта информация содержится в документации Kubernetes (https://kubectl.docs.kubernetes.io/pages/container_debugging/copying_container_files.html).

Этот вопрос конкретно касается windows контейнеров. Похоже, это не описано ни в документации по kubernetes, ни в любом другом вопросе, который я нашел в stackoverflow. Многие вещи, которые просты в узлах kubernetes linux, требуют дополнительного исследования для windows узлов.

Поэтому я не думаю, что это дубликат.

1 Ответ

1 голос
/ 05 февраля 2020

Правильный способ - опустить букву диска:

kubectl cp <pod_name>:filename

, например:

kubectl cp a8677:testlog2.txt ./t2.txt

Если файл находится внутри подкаталога, путь должен содержать косую черту, а не обратную косую черту:

kubectl cp a8677:my/file/path/file.txt ./myfile.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...