• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

pods를 통해서 서비스 접속이 안되는 이유가 궁금합니다.

22.04.26 23:58 작성 조회수 403

0

[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://www.inflearn.com/blogs/1719)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

[질문 하기]
안녕하세요.
강의에서는
kubectl get pods -o wide에서 나온
172.16.221.129를 브라우저를 통해서 웹서비스에 접속이 되는데,
제가 실제 접속을 시도하면은 접속이 안됩니다.
 
kubectl get nodes -o wide명령어를 통해서 나온 ip로는 접속이 되는데, 왜 pods로 생긴 ip로는 웹서비스에 접속이 안되는걸가요
 
강의에서는 아래 명령어만 열어주셔서 NodePort만 열는어주신것 같은데, pod도 포트를열어주어야 되는건가요?
kubectl expose pods nginx --type=NodePort --port=80
 
 
 

답변 1

답변을 작성해보세요.

1

안녕하세요 

172.16.221.129는 웹 브라우저를 통해서 아마 접속이 안되실꺼 같습니다. 

해당 IP range는 POD CIDR(172.16.0.0/16) 영역대라서 클러스터 내부에 POD가 사용하는 IP 영역입니다. 다만 현재 클러스터의 구조 특성상 마스터 노드에서 해당 IP가 도달 가능한 IP이기 때문에 curl과 같은 도구로 HTTP GET은 받을 수 있습니다. 

 

그리고 Pod는 클러스터 외부와 그냥 통신은 할 수 없고요. 몇몇 서비스(ClusterIP는 안됩니다.)로 노출되어야만 외부와 통신이 가능합니다. Pod도 열어주는게 아니라 Pod를 노드포트로 노출해 주는 구조입니다. 

 

오해가 있을수 있긴 한데...강의를 끝까지 들어보시고 혹시 위의 내용이 이해가 어려운 부분이 있다면 다시 말씀을 부탁드려도 될까요? 현재 질의하신 2.3에서 보다 말씀하시는 내용이 뒤에 설명되는 구조라서요. 

 

그리고 조금 더 세부적으로 서비스를 이해하고자 하신다면...

그림 쿠버 ch4 서비스 노출 부분의 코드를 함께 보시면 이해에 도움이 되실 것 같습니다. 

 

감사합니다. 

조훈 드림.