작성
·
13
0
윈11에 docker desktop과 wsl 을 연동하여 쓰고 있습니다. 리눅스 명령어가 더 익숙해서..
수업 내용대로 다 잘 따라했습니다. deployment, service, pod 모두 정상적으로 작동이 됩니다. 하지만 localhost:30000으로 접속시 연결 거부가 뜨고,
kubectl port-forward service/spring-service 30000:8080 으로 직접적으로 포트 포워딩을 해준 후에야 localhost:30000이 접속이 됩니다.
어떻게 해야 포트 포워딩 작업 없이 바로 서비스에 접근 가능할까요..? 뭘 설정해야 하는지 모르겠습니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 성진님.
현재 쿠버네티스에서 NodePort를 사용한 서비스가 기대했던 대로 작동하지 않아 어려움이 있으신 것 같습니다. NodePort를 통해 외부 접속을 원활하게 하기 위해 몇 가지 점검 사항과 설정 변경을 제안드립니다:
노드의 IP 주소 사용: NodePort 서비스를 사용할 때는 보통 클러스터 노드의 IP(퍼블릭 혹은 프라이빗)를 통해 접근해야 합니다. WSL 환경에서는 로컬호스트가 아닌 노드의 IP를 통해 접근할 수 있는지 확인해보세요. kubectl get nodes -o wide
명령어를 통해 노드의 IP를 확인한 후, 해당 IP와 포트를 통해 접속해 보세요. 예: http://<노드IP>:30000
.
방화벽 설정 확인: 로컬 또는 네트워크 방화벽이 30000 포트를 차단하고 있는지 확인해야 합니다. 방화벽 설정에 30000 포트를 허용하는 규칙을 추가해 보세요.
Docker Desktop 네트워크 설정: Docker Desktop의 네트워크 설정에서 포트가 차단되지 않았는지 확인해보세요. 필요한 경우 네트워크 설정을 조정해서 포트를 개방하세요.
서비스 설정 검토: kubectl describe service spring-service
명령어로 서비스의 설정 상태를 확인해 보세요. 특히 NodePort가 올바르게 설정되어 있는지 확인합니다.
비슷한 문제 해결을 위한 기존의 질문과 답변을 참고하시면 더욱 도움이 될 수 있습니다. 아래 링크를 확인해 보세요:
이 링크는 성진님의 상황과 유사한 NodePort 설정 및 접근 문제를 다루고 있으며, 다른 수강생들의 해결 경험을 살펴볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.