Kubernetes Service, Nodeport, Ingress에 대해 알아보기

728x90

안녕하세요!

오늘은 Kubernetes에서 Service, Nodeport, Ingress에 대하여 알아보겠습니다.

 

 

 

Kubernetes에서 Service, Nodeport, Ingress는 외부 트래픽을 클러스터 내의 애플리케이션으로 라우팅하는 데 사용되는 주요 리소스

 

 

Service

Service는 클러스터 내의 특정 Pod(애플리케이션)을 안정적으로 노출하기 위한 리소스.
서비스의 주 목적은 Pod의 IP가 변경되더라도 항상 동일한 주소로 접근할 수 있도록 하여 클러스터 내 Pod들 간의 통신을 쉽게 만드는 것

  • ClusterIP(기본 설정): 서비스는 클러스터 내에서만 접근 가능하게 하며, 외부에서 접근할 수 없다.
  • NodePort: 외부 트래픽을 특정하는 포트(NodePort)를 통해 노드의 IP로 받아서 내부 클러스터의 서비스로 전달, 이를 통해 외부에서도 지정된 포트를 통해 접근
  • LoadBalancer: 클라우드 환경에서 지원하는 외부 로드밸런서를 통해 서비스에 접근 가능

 

 

NodePort

NodeportService의 한 종류로, 클러스터 외부에서 특정 포트로 접근할 수 있게 설정.
이 설정은 클러스터의 모든 노드의 IP에 할당된 특정 포트(30000~32767)에서 접근을 허용하며, 그 포트로 들어오는 요청을 Pod로 라우팅

  • 클러스터 외부에서 클러스터 노드 IP와 NodePort로 접근
  • 보안이나 포트 제한이 있을 경우 접근이 제한
  • 기본 포트 범위 30000~32767

 

 

Ingress

Ingress는 하나의 진입접으로 다수의 서비스에 접근할 수 있도록 설정하는 리소스.
Ingress는 URL 경로 또는 도메인에 따라 요청을 적절한 서비스에 라우팅하는 기능을 제공하며, 로드 밸런시, SSL/TLS 종료 등의 추가적인 트래픽 제어 기능도 지원

  • 일반적으로 클러스터 외부 접근을 위한 진입점 역할
  • Ingress Controller라는 추가적인 설정이 필요하며, 주로 클러스터 외부 트래픽을 처리하는데 사용
  • 도메인 기반 라우팅을 사용할 수 있어 여러 서비스에 대한 접근을 관리하기 용이

 

비교표

항목 설명 특징
Service 클러스터 내 포드에 안정적인 접근을 제공함. ClusterIP, NodePort, LoadBalancer 중 선택 가능
NodePort 외부에서 클러스터 노드의 특정 포트로 접근할 수 있게 함. 외부 트래픽 접근 허용 (포트 범위 30000-32767)
Ingress URL 경로나 호스트 기반 라우팅으로 여러 서비스에 대한 접근을 관리함. 로드 밸런싱, SSL 종료, 도메인 기반 라우팅 지원

 

 

이상입니다.

감사합니다!

천사불여일행(千思不如一行) : 천번 생각하는 것보다 한번 행동하는 것이 더 중요하다.

기기일약 불능십보 노마십가 공재불사(騏驥一躍 不能十步 駑馬十駕 功在不舍): 천리마가 한번 크게 뛴다고 하더라도 열 걸음을 나아갈 수 없고 노둔한 말일지라도 열흘 달리면 역시 거기에 미칠 수가 있다.
일의 성과는 멈추지 않고 계속하는 데 있다. (순자, 권학편)

728x90
반응형