반응형
쿠버네티스에서 실행 중인 컨테이너에 대화형 셀로 접근하는 방법
kubectl exec 명령어를 통해 Kubernetes 클러스터에서 실행 중인 컨테이너 내부로 들어가서 대화형 셀을 실행할 수 있습니다.
1. 실행 중인 Pod 확인
쿠버네티스 클러스터에서 실행 중인 Pod를 확인해야 합니다.
kubectl get pods
현재 네임스페이스에서 실행 중인 모든 Pod의 목록을 출력합니다. 특정 네임스페이스에서 Pod를 확인하려면 -n 플래그를 사용합니다.
kubectl get pods -n <namespace>
2. Pod의 컨테이너 목록 확인
만약 Pod 안에 여러 컨테이너가 있을 경우 해당 Pod의 컨테이너 목록을 확인할 수 있습니다.
kubectl get pod <pod-name> -o jsonpath='{.spec.containers[*].name}'
3. Pod의 컨테이너에 대화형 셀로 접근
kubectl exec 명령어를 사용하여 실행 중인 Pod의 컨테이너에 대화형 셀로 접근할 수 있습니다.
기본적으로 /bin/sh 또는 /bin/bash 셸을 사용합니다.
kubectl exec -it <pod-name> -- /bin/sh
만약 Pod에 여러 컨테이너가 있고 특정 컨테이너에 접속하려면 -c 플래그를 사용하여 컨테이너 이름을 지정합니다.
kubectl exec -it <pod-name> -- /bin/sh
4. Bash 셸 사용
일부 컨테이너에서는 sh 대신 bash가 기본 셸로 설정되어 있을 수 있습니다. 이 경우 sh 대신 bash를 사용하여 접속합니다.
kubectl exec -it <pod-name> -- /bin/bash
또는 특정 컨테이너에 대해서
kubectl exec -it <pod-name> -c <container-name> -- /bin/bash
728x90
사용 예시
파드, 서비스, 디플로이먼트 확인
kubectl get pod,service,deployment -o wide -n jenkins
$ kubectl get pod,service,deployment -o wide -n jenkins
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod/jenkins-794699f9bc-pwtrh 1/1 Running 0 8d 10.244.3.6 bk8sn3 <none> <none>
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
service/jenkins NodePort 10.98.152.104 <none> 8080:30000/TCP 8d app=jenkins
service/jenkins-jnlp ClusterIP 10.110.21.239 <none> 50000/TCP 8d app=jenkins
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
deployment.apps/jenkins 1/1 1 1 8d jenkins jenkins/jenkins:lts app=jenkins
컨테이너에 대화형 셀로 접근
kubectl exec -it pod/jenkins-794699f9bc-pwtrh -n jenkins -- bash
$ kubectl exec -it pod/jenkins-794699f9bc-pwtrh -n jenkins -- bash
jenkins@jenkins-794699f9bc-pwtrh:/$ date
Wed Nov 11 06:56:41 UTC 2020
파드 로그 확인
kubectl logs pod/jenkins-794699f9bc-zx8mv -n jenkins
파드 실시간 로그 확인
kubectl logs -f pod/jenkins-794699f9bc-zx8mv -n jenkins
파드 삭제
kubectl delete pod/jenkins-794699f9bc-pwtrh -n jenkins
이제 kubectl exec 명령어를 통해 Kubernetes 클러스터 내의 컨테이너에 대화형 셀로 접속할 수 있습니다. 이를 통해 컨테이너 내부에서 명령어를 실행하거나 디버깅 작업을 수행할 수 있습니다.
728x90
반응형
'리눅스' 카테고리의 다른 글
screen 명령어 (0) | 2020.11.13 |
---|---|
[kubernetes] kubeadm 구성 보기 (0) | 2020.11.11 |
쿠버네티스 레플리카셋(Replica Set) (0) | 2020.11.11 |
[kubernetes] APP(httpd) 배포 테스트 (0) | 2020.11.10 |
쿠버네티스에서 NGINX Ingress Controller를 설정하는 방법 (0) | 2020.11.09 |