일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 커널
- Kubernetes
- POJO
- tech
- 쿠버네티스
- Pub/Sub
- 컴퓨터 구조
- Kafka
- k8s
- 취뽀
- 스프링빈
- spring boot
- 개발자
- Data Engineering
- fork()
- 의존성주입
- CNS
- 운영체제
- it
- 제어의역전
- 개발
- zookeeper
- OS
- 인프라
- Context Switching
- 시스템호출
- docker
- 코테
- 데이터엔지니어
- 도커
Archives
- Today
- Total
모래성 말고 철옹성
[1분 쿠버네티스] Service - ClusterIP, NodePort, LoadBalancer 본문
Service의 역할
쿠버네티스에서 Service는 파드(Pod)들이 안정적으로 네트워크를 통해 통신할 수 있도록 도와주는 리소스다. 각 파드는 고유한 IP를 가지지만, 동적으로 변경될 수 있기 때문에 직접 접근하는 것이 어렵다. 이를 해결하기 위해 Service가 존재하며, 특정 네트워크 정책을 설정하여 안정적인 접근을 가능하게 한다.
- 네트워크 추상화: 파드가 변경되더라도 동일한 네트워크 주소를 통해 접근할 수 있도록 한다.
- 로드 밸런싱: 여러 개의 파드로 트래픽을 분산시켜 부하를 조절한다.
- 디스커버리: DNS와 연동하여 내부 또는 외부 서비스 탐색이 용이하도록 지원한다.
쿠버네티스에서 Service를 생성할 때, spec.type 필드를 통해 동작 방식을 정의할 수 있다. 주요한 세 가지 유형은 다음과 같다.
ClusterIP
- 기본값으로 설정되는 Service 유형이다.
- 클러스터 내부에서만 접근 가능하며, 외부에서 직접 접근할 수 없다.
- 내부 애플리케이션 간 통신을 위해 사용된다.
apiVersion: v1
kind: Service
metadata:
name: my-clusterip-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
NodePort
- 클러스터 외부에서도 접근 가능하도록 하는 방법이다.
- 각 노드의 특정 포트를 개방하여 서비스에 접근할 수 있다.
- 서비스에 할당된 포트(기본 범위: 30000-32767)를 통해 클러스터 외부에서 접근 가능하다.
- 접근 방법: http://<노드 IP>:30080
apiVersion: v1
kind: Service
metadata:
name: my-nodeport-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
nodePort: 30080
type: NodePort
LoadBalancer
- 클라우드 환경에서 외부 Load Balancer를 자동으로 생성하여 트래픽을 관리한다.
- AWS, GCP, Azure 등의 클라우드 제공업체에서 사용 가능하다.
- 클러스터 외부에서 접근할 수 있으며, 자동으로 퍼블릭 IP가 할당된다.
- 접근 방법: 클라우드 제공업체에서 할당한 외부 IP를 통해 접근 가능
apiVersion: v1
kind: Service
metadata:
name: my-loadbalancer-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancer
정리
유형 | 내부 접근 | 외부 접근 | 주요 사용처 |
ClusterIP | O | X | 클러스터 내부 통신 |
NodePort | O | O (노드IP + 포트) | 로컬 개발, 내부 서비스 노출 |
LoadBalancer | O | O (Public IP) | 클라우드 환경에서 외부 서비스 제공 |
반응형
'쿠버네티스' 카테고리의 다른 글
[1분 쿠버네티스] 쿠버네티스 아키텍처 이해 (0) | 2025.03.28 |
---|---|
[1분 쿠버네티스] 쿠버네티스 QoS (0) | 2025.03.18 |
[1분 쿠버네티스] ReadinessProbe와 LivenessProbe (0) | 2025.03.16 |
Comments