728x90
안녕하세요!
오늘은 Kubernetes에서 Service, Nodeport, Ingress에 대하여 알아보겠습니다.
Kubernetes에서 Service, Nodeport, Ingress는 외부 트래픽을 클러스터 내의 애플리케이션으로 라우팅하는 데 사용되는 주요 리소스
Service
Service는 클러스터 내의 특정 Pod(애플리케이션)을 안정적으로 노출하기 위한 리소스.
서비스의 주 목적은 Pod의 IP가 변경되더라도 항상 동일한 주소로 접근할 수 있도록 하여 클러스터 내 Pod들 간의 통신을 쉽게 만드는 것
- ClusterIP(기본 설정): 서비스는 클러스터 내에서만 접근 가능하게 하며, 외부에서 접근할 수 없다.
- NodePort: 외부 트래픽을 특정하는 포트(NodePort)를 통해 노드의 IP로 받아서 내부 클러스터의 서비스로 전달, 이를 통해 외부에서도 지정된 포트를 통해 접근
- LoadBalancer: 클라우드 환경에서 지원하는 외부 로드밸런서를 통해 서비스에 접근 가능
NodePort
Nodeport는 Service의 한 종류로, 클러스터 외부에서 특정 포트로 접근할 수 있게 설정.
이 설정은 클러스터의 모든 노드의 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
반응형