kubectl exec [pod-name] -it -- bash 혹은 kubectl exec [pod-name] -it -- sh 커맨드로 실행 중인 pod에
접속할 수 있다.
로컬의 파일을 pod에 복사
kubectl cp 파일이름 pod이름:pod경로
pod의 파일을 로컬에 다운로드
ubectl cp pod이름:pod경로 파일이름
1. pod 이름을 확인한다.
[root@kw1 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
ks-app 1/1 Running 0 32h
ksflask-app 1/1 Running 0 29h
ksimage-app 1/1 Running 0 27h
2. 실행 중인 pod에 접속한다.
[root@kw1 ~]# kubectl exec ksimage-app -it -- bash
root@ksimage-app:/app# ls -al
total 12
drwxr-xr-x. 4 root root 97 Mar 29 08:51 .
drwxr-xr-x. 1 root root 40 Mar 29 08:59 ..
-rw-r--r--. 1 root root 268 Mar 29 06:17 Dockerfile
-rw-r--r--. 1 root root 204 Mar 29 08:50 ksFlask.py
-rw-r--r--. 1 root root 174 Mar 29 06:17 requirements.txt
drwxr-xr-x. 2 root root 21 Mar 29 06:19 static
drwxr-xr-x. 2 root root 24 Mar 29 06:17 templates
3. pod의 파일을 local에 다운로드한다.
tar: Removing leading `/' from member names 이런 에러가 발생하는 데 찾아보니 k8s bug인 듯함
파일은 다운로드됐음
[root@kw1 ~]# kubectl cp ksimage-app:/app/static/img.jpg ~/test.jpg
tar: Removing leading `/' from member names
4. local에 있는 파일을 pod에 전송한다.
[root@kw1 ~]# kubectl cp ~/test.jpg ksimage-app:/app/static/test.jpg
확인해보니 잘 들어가있음
[root@kw1 ~]# kubectl exec ksimage-app -it -- bash
root@ksimage-app:/app# ls -al /app/static/
total 416
drwxr-xr-x. 1 root root 37 Mar 30 14:49 .
drwxr-xr-x. 1 root root 37 Mar 29 08:51 ..
-rw-r--r--. 1 root root 211786 Mar 30 13:34 img.jpg
-rw-r--r--. 1 root root 211786 Mar 30 14:49 test.jpg
5. 파일 복사 pod to pod
pod에서 pod으로 파일 복사는 지원하지 않음
[root@kw1 ~]# kubectl cp ksimage-app:/app/static/test.jpg ksflask-app:/app/static/test.jpg
error: one of src or dest must be a local file specification
'kubenetes' 카테고리의 다른 글
ImagePullBackOff error 해결 (0) | 2022.04.02 |
---|---|
kubernetes 실행 중인 pod에 접속해 package 설치 (0) | 2022.03.30 |
kubernetes python flask ingress 설정하기 (0) | 2022.03.27 |
docker image 제거 (0) | 2022.03.26 |
Dockerfile로 flask web docker image build 하는 방법 (0) | 2022.03.23 |
댓글