본문 바로가기
클라우드 및 인프라/Kubernetes

Kubernetes Service 포트 - NodePort, port, targetPort

by 작은소행성 2023. 5. 3.

Servie-port

서비스 포트로 요청받은 것을 파드의 어느 포트로 포워딩할 지 설정하는 것이다. 

 

클러스터 외부에서

노드의 IP 주소와 서비스의 nodePort 로 요청이 되면

서비스의 port 로 포워딩되고

파드에서 targetPort로 들어간다. 

 

apiVersion: v1
kind: Service
metadata:
  name: dev-svc
spec:
  type: NodePort   ## type 추가 
  ports:
    - port: 80
      protocol: TCP
      targetPort: 8080
      nodePort: 31000 ## nodePort 입력
  selector:
    app: dev-pod

 

NodePort

- 외부에서 접속하기 위해 사용하는 포트

해당 포트 번호를 통해 외부에서 접근한다.

 

port

- Cluster 내부에서 사용할 Service 객체의 포트

 

targetPort

- Service객체로 전달된 요청을 Pod(deployment)로 전달할때 사용하는 포트

- 서비스 동작을 위해 어플리케이션이 이 포트에 대해 네트워크 요청을 받고 있어야 함 

 

서비스 흐름으로 보면 NodePort --> Port --> targetPort 이다. 

 

 

예시

아래 이미지에서

PORT(S) 에서

80 은 내부의 grafana 의 port이고

31000은 외부에서 접근할 수 있는 NodePort이다. 

그럼 http://localhost:31000 로 접근할 수 있다. 

 

nodeport 하기 전에는 http://localhost:8080 으로 접근해야 한다. 

 

반응형