🌐 Kubernetes Service Type 변경 방법 & 확인 방법
2026. 2. 22. 08:49ㆍk8s
Kubernetes에서 Service는 여러 가지 타입을 가진다.
대표적인 Type:
- ClusterIP (기본값)
- NodePort
- LoadBalancer
- ExternalName
운영하다 보면 Service Type을 변경해야 하는 경우가 많다.
📌 1️⃣ 현재 Service Type 확인 방법
✅ 기본 조회
kubectl get svc -n test
출력 예:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
nginx ClusterIP 10.107.11.40 <none> 80/TCP
✅ 상세 확인
kubectl describe svc nginx -n test
✅ YAML로 확인
kubectl get svc nginx -n test -o yaml
YAML에서 확인할 위치:
spec:
type: ClusterIP
📌 2️⃣ Service Type 변경 방법
Service는 대부분의 경우 type 변경이 가능하다.
✅ 방법 1 — kubectl edit (가장 간단)
kubectl edit svc nginx -n test
아래 부분 수정:
spec:
type: NodePort
저장하면 즉시 반영됨.
✅ 방법 2 — kubectl patch
kubectl patch svc nginx -n test -p '{"spec":{"type":"NodePort"}}'
✅ 방법 3 — YAML 수정 후 apply
1️⃣ 현재 YAML 추출:
kubectl get svc nginx -n test -o yaml > svc.yaml
2️⃣ 수정:
spec:
type: NodePort
3️⃣ 적용:
kubectl apply -f svc.yaml
📌 3️⃣ Type 변경 시 동작 차이
🔄 ClusterIP → NodePort
- NodePort 자동 할당됨
- 외부에서
<NodeIP>:NodePort접속 가능
🔄 NodePort → ClusterIP
- NodePort 제거
- 내부 전용 서비스로 변경
🔄 NodePort → LoadBalancer
- 클라우드 환경에서 외부 IP 자동 할당
- 온프렘에서는 보통 Pending 상태 유지
📌 4️⃣ Type 변경 후 확인 방법
kubectl get svc nginx -n test -o wide
NodePort가 보이면 성공:
80:30465/TCP
📌 5️⃣ 주의할 점
⚠️ NodePort 번호 직접 지정 시 충돌 가능
nodePort: 30080
- 범위: 30000–32767 (기본값)
- 이미 사용 중이면 에러 발생
⚠️ ExternalName은 특수 케이스
spec:
type: ExternalName
externalName: example.com
- DNS CNAME 역할
- selector 없음
- Endpoint 없음
📊 Service Type 비교
| Type | 외부 접근 | 용도 |
|---|---|---|
| ClusterIP | ❌ | 내부 통신 |
| NodePort | ✅ | 간단한 외부 노출 |
| LoadBalancer | ✅ | 클라우드 외부 노출 |
| ExternalName | DNS | 외부 서비스 연결 |
🏗️ 트래픽 흐름 예시 (NodePort)
Client
↓
NodeIP:NodePort
↓
Service
↓
Endpoint
↓
Pod
🎯 실무 팁
- 온프렘 환경 → NodePort + Ingress 조합 추천
- 클라우드 환경 → LoadBalancer 또는 Ingress
- 테스트용 → NodePort 가장 간단
'k8s' 카테고리의 다른 글
| 🧠 Pod 안에서 kubectl 대신 API 호출하기 (0) | 2026.02.22 |
|---|---|
| 🔐 Kubernetes NetworkPolicy 완전 정리 (0) | 2026.02.22 |
| 🌐 Kubernetes Service를 만들면 생성되는 Endpoint의 의미 (0) | 2026.02.22 |
| 🚨 kubectl delete --force --grace-period=0 완전 정리 (0) | 2026.02.22 |
| 🩺 Kubernetes livenessProbe & readinessProbe 정리 (0) | 2026.02.22 |