쿠버네티스/cka

Pod 로 띄운 프로그램에 접속되지 않는 이유와 해결방법.

몽자비루 2025. 2. 11. 20:42

이전 포스팅 에서 nginx 를 Pod로 띄워보았는데, chrome 에서 localhost:80 을 연결해도

해당 nginx 가 연결되지 않는다. 오늘은 그 이유에 대해서 이야기해보고자 한다.

  1. Pod 로 띄운 프로그램에 접속되지 않는 이유
    1. 도커에서 컨테이너 내부와 컨테이너 외부의 네트워크가 서로 독립적으로 분리되어있다.
    2. 쿠버네티스에서는 Pod 내부의 네트워크를 컨테이너가 공유하여 같이 사용한다.
      즉, Pod 내부와 Pod외부의 네트워크가 서로 독립적으로 분리되어있다.
      • 즉, Pod로 띄운 Nginx 를 Local에서 호출해도 응답이 없다.
  2.  Pod에 띄운 프로그램에 접속하기
    1. Pod 내부에 들어가서 접근하기.
      • Pod 내부에 들어가기
        kubectl exec -it {{pod-name}} -- bash
      • Nginx 로 요청 보내기
        curl localhost:80
    2. Pod 내부의 네트워크를 외부에서도 접속 가능하도록 포트 포워딩 활용하기
      • 포트 포워딩 하기
        kubectl port-forward pod/{{pod_name}} {{local port number}}:{{pod port number}}
      • 포트 포워딩 끊기 : ctrl + c\
      • 파드 삭제하기
        kubectl delete pod {{pod_name}}
      • 파드 삭제 여부 확인하기
        kubectl get pods