Pod Port-Forwarding

작성자 김아름 수정일 2023-02-08 10:33

#kubernetes, #쿠버네티스, #pod, #port, #forward

들어가며

  • 포트포워딩을 사용하여, kubernetes 클러스터에서 실행 중인 어플리케이션에 접근 하는 방법에 대해 알아보겠습니다.



Pod의 Port를 Forwarding하기

kubectl port-forwarding 명령어는 pod를 선택해 port forwarding하는 것을 허용합니다.


현재 mongoDB 어플리케이션이 배포되어 있습니다.

kubectl get po
NAME                     READY   STATUS    RESTARTS   AGE
mongo-68d579f669-mczp8   1/1     Running   0          10m


mongoDB의 서비스도 배포되어 있습니다.

kubectl get svc
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)     AGE
mongo        ClusterIP   10.110.21.10   <none>        27017/TCP   11m


MongoDB 서버가 Pod에서 실행 중이고 포트 27017에서 수신 대기 중인지 확인합니다.

kubectl get pod mongo-68d579f669-mczp8 --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
27017


local port를 pod의 port로 전달합니다.

kubectl port-forward mongo-68d579f669-mczp8 28015:27017
Forwarding from 127.0.0.1:28015 -> 27017
Forwarding from [::1]:28015 -> 27017

kubectl port-forward deployment/mongo 28015:27017
kubectl port-forward replicaset/mongo-mongo-68d579f669 28015:27017
kubectl port-forward service/mongo 28015:27017


kubectl port-forward 명령어는 반환되지 않으니, 다른 터미널을 열어 진행합니다.


mongoDB 명령 인터페이스를 시작합니다.

mongosh --port 28015


mongoDB 명령 프롬프트에서 호출을 시도하여 반환을 확인합니다.

db.runCommand( { ping: 1 } )
{ ok: 1 }


마무리

  • pod-portforward 연결을 설정하면, 로컬 워크스테이션을 사용하여 pod에서 실행 중인 어플리케이션 debug할 수 있습니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300