[쿠버네티스 네트워크] 외부로 서비스하는 방법들과 노드포트

hi·2023년 7월 26일
0

쿠버네티스

목록 보기
34/60

서비스를 노출하는 세 가지 방법

  • NodePort: 노드의 자체 포트를 사용하여 파드로 리다이렉션
  • LoadBalancer (L4): 외부 게이트웨이를 사용해 노드 포트로 리다이렉션
  • Ingress (L7): 하나의 IP 주소를 통해 여러 서비스를 제공하는 특별한 메커니즘


노드포트 생성하기

  • 서비스에 yaml 파일을 작성
  • type에 NodePort를 지정
  • 30000-32767포트만 사용가능

  • GCP에서 방화벽 해제 후 노드로 직접 접속
$ gcloud compute firewall-rules create http-go-svc-rule --allow=tcp:30001
Creating firewall...⠛Created [https://www.googleapis.com/compute/v1/projects…].
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED
http-go-svc-rule default INGRESS 1000 tcp:30001 False
$ kubectl get node -o wide
NAME STATUS ROLES … EXTERNAL-IP …
gke-standard-cluster-1-default-pool-d820cb23-lk38 Ready <none>34.67.21.139 …
gke-standard-cluster-1-default-pool-d820cb23-rhx3 Ready <none>34.67.112.205 …
gke-standard-cluster-1-default-pool-d820cb23-zcfb Ready <none>35.224.244.152 …
$ curl 34.67.21.139:30001
Welcome! http-go-rs-5pspr

노드포트 서비스의 패킷 흐름


노드포트를 활용한 로드밸런싱



0개의 댓글