작성
·
1.2K
1
안녕하세요, 강의 수강 중 내용을 업무에 적용시키면서 문의가 생겨 질문드려요
제가 하고자 하는 것은 위 그림 왼쪽의 local 데스크탑(web browser)에서 vpn을 이용해 서버로 접속 후 kubernetes cluster 내의 pod에 접속하고자 합니다. kubernetes 는 minikube로 하나의 노드로 구성되어 있고 NodePort 타입의 Service와 그와 연결된 Pod가 있습니다.
처음엔 서비스 컴포넌트의 nodePort가 30000번, targetPort를 80번, clusterIP로 접근할때의 port 80번을 통해 local web browser에서 pod로 접속이 가능할거라고 생각했는데 안되네요;
결국 아래의 kubectl port-forward 명령어를 통해서 local web browser에서 pod로 접속할 수 있었는데요.
$ kubectl port-forward "service/Service" --address='0.0.0.0' 30001:80 &
동작하는 구체적인 과정에 대해서 이해가 부족해 질문드립니다. 서비스는 이미 30000번 포트를 외부에서 접근할수있도록 포트를 열어놓은 상태인데 왜 추가적인 port-forwarding이 필요한지 이해가 잘 안되네요. 답변 미리 감사드립니다!
답변 1
1
안녕하세요.
클러스터 설치시 네트워크 IP세팅이 잘못된게 아닌가 싶은데요,
아래 명령을 실행해보시겠어요?
kubectl get nodes -o wide
저의경우 아래와 같이 출력되며, INTERNAL-IP가 192.168.219.40으로 되어 있으며, 실제 해당 vm의 IP도 192.168.219.40입니다.
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master Ready <none> 65d v1.23.12 192.168.219.40 <none> CentOS Linux 7 (Core) 3.10.0-1160.71.1.el7.x86_64 containerd://1.3.7
혹은 EXTERNAL-IP가 있을 경우 그 IP로 접속해보셔도 됩니다.
일단 저도 minikube는 사용해보지 않아서 cluster의 동작과 정확한 차이는 잘 모르겠네요.
그래서 조금 검색해보니 아래 블로그에 접근 방법에 대해서 잘 나와있엇습니다.
참고가 될 것 같네요
빠른 답글 달아주셔서 감사합니다.
확인 결과 아래와 같고 실제 minikube ip도 192.168.49.2로 확인 됩니다.
혹시 잘못된 부분이 있을까요? 바쁘시겠지만 조언주시면 감사하겠습니다.