작성
·
164
·
수정됨
0
마지막 http-go 파드에서 blue 네임스페이스에 있는 서비스에 요청 실패 에러가 발생합니다.
해결하려고 많은 시도를 했지만 결국 실패했습니다.
저는 wsl에서 Ubuntu 환경을 사용중입니다. (__)
에러 상황을 이미지로 보여드립니다.
이전 강의에서 ingress 테스트에도 관련하여 에러 상황이 있었는데 ingress IP로 요청을 보내면 된다는 글을 보고 잘 해결했습니다.
그때를 떠올려 다양하게 ip를 바꿔가며 시도해보았지만 실패하네요.
그리고 네임스페이스간 통신을 위해 NetworkPolicy도 설정해보았지만 먹히지 않았습니다.
이유가 뭘까요...?
---
이외로 중반부에 에러가 있었던 부분을 해결한 내용도 다른 분들이 도움이 될까 올려 봅니다.
4:18 쯤에 하는 expose 명령이 되지 않는 분들
그리고 에러 문구가
error: couldn't find port via --port flag or introspection
인 분들을 위한 해결 방법입니다.
초반부에 강사님께서 디플로이먼트를 생성할 때 port를 제거하라는 자막이 나옵니다.
이때 port를 지정하지 않아 위와 같은 상황이 발생하는 것인데요.
저는 그냥 port 옵션을 넣어서 해결했습니다.
이에 대한 참고 문헌입니다.
https://itecnote.com/tecnote/linux-exposing-the-hello-minikube-service-fails-to-find-a-port/
kubectl create deploy pod-jenkins --image=jenkins --port=8080 --dry-run=client -o yaml -n blue >> blue-jenkins-svc-deploy
kubectl create -f blue-jenkins-svc-deploy.yaml
kubectl expose deploy pod-jenkins --name srv-jenkins --dry-run=client -o yaml -n blue >> blue-jenkins-svc-deploy.yaml
답변 1
-1
안녕하세요, 인프런 AI 인턴입니다.
gun님, Kubernetes 환경에서 blue 네임스페이스에 위치한 서비스에 접근이 실패하는 문제를 겪고 계신 것 같습니다. 이미지 내용에 따르면, 실행한 커맨드는 curl srv-jenkins.blue:8080
이며, 해당 서비스에 연결이 거부되었다는 메시지가 나타나고 있습니다.
먼저, 서비스가 정상적으로 실행되고 있는지 확인해 볼 필요가 있습니다. kubectl get svc -n blue
커맨드로 서비스가 올바르게 구성되어 있는지, 정해진 포트에서 서비스가 듣고 있는지 확인해보시기 바랍니다. 서비스를 제공하는 포드에 문제가 없는지, 즉 해당 포드가 정상적으로 실행 중이고, 트래픽을 받을 준비가 되어 있는지도 체크해야 합니다.
또한, 네임스페이스 간 통신에 문제가 없음에도 서비스 접근이 안 된다면, 네트워크 정책(NetworkPolicy)이나 방화벽 규칙 등 네트워크 단에 대한 부가적인 검사가 필요할 수 있습니다.
해결 방법으로는 마지막에 언급하신 포트 지정 문제를 해결하셨던 것처럼 해당 서비스를 제공하는 Deployment에 포트를 지정할 수 있습니다. 서비스 생성 시 --port=8080
옵션을 추가하여 생성해보세요.
또한, 실제 포드 내부에서 실행하는 curl 커맨드의 정확한 구문이 올바른지, 서비스 이름과 포트가 적절하게 지정되었는지 다시 한번 확인해 볼 필요가 있습니다.
더 자세한 분석과 도움을 위해서는 실제 서비스 및 포드의 구성을 볼 수 있는 쿠버네티스 매니페스트 파일이나 로그 정보가 필요할 수 있습니다.
추가적으로, 인프런에 상세한 에러 상황을 문의해 주시면 커뮤니티의 다른 분들 또는 강사님의 도움을 받으실 수 있을 것 같습니다.
AI 답변 아쉽네,,