공부/Kubernetes

kubectl copy multiple files pod to local

토고미 2022. 5. 24. 13:04

pod 안의 여러개의 파일을 local 노드로 한 번에 옮기려했는데 kubectl cp는 wildcard(*)를 지원하지 않는다.

 

kubectl cp 는 내부적으로 tar 명령어를 쓴다. kubectl exec를 통해 tar를 직접쓰면 wildcard 사용이 가능하다.

 

kubectl exec -n <NAMESPACE> <POD_NAME> -- bash -c "tar cf - <컨테이너 내부 절대경로>/*" | tar xf - -C <노드에 복사할 경로>

 

예시)

kubectl exec -n swlee my-pod -- bash -c "tar cf - /path/to/files/*" | tar xf - -C .