작성
·
342
0
안녕하세요. 강의 잘 듣고 있습니다.
외부(PC)에서 접속을 하기 위해 expose 명령어를 사용하였습니다.(2.2 강좌)
궁금한건 kubectl get pod -o wide 명령어에 대한 출력은 nginx가 w2-k8s(워커노드 2번)에 있다고 나오는데,
워커노드 1번, 2번, 3번으로 웹접속을 시도해도 동일하게 nginx 화면이 나옵니다.
nginx가 없는 워커노드 1번, 3번으로의 웹접속이 가능한 이유가 뭔가요?
답변 1
3
안녕하세요, sj님.
튜터 비모입니다.
테스트해보신 것 처럼 NodePort로 expose 시, 해당 Pod가 올라간 노드 외 다른 노드에서도 접속이 가능한 이유는
아래 공식문서에서 설명하고 있는 내용과 같이 모든 노드에서 동일한 포트를 서비스로 프록시하기 때문입니다.
- NodePort 유형
https://kubernetes.io/ko/docs/concepts/services-networking/service/#type-nodeport
각 노드는 해당 포트 (모든 노드에서 동일한 포트 번호)를 서비스로 프록시한다
이해에 도움을 드리기 위해 ibm cloud 문서의 그림을 첨부드리오니 참조 부탁 드립니다.
- NodePort
https://www.ibm.com/cloud/architecture/content/course/ibm-cloud-private-networking/nodeport/
혹시 추가로 궁금하신 점이 있으면 남겨주세요
감사합니다 :)