이번 글에서는 Kubernetes의 네트워킹과 서비스에 대해 정리한다. CKA 시험에서 자주 등장하는 핵심 영역이며, 클러스터 내부/외부 통신을 이해하는 것이 매우 중요하다.
1. Cluster Networking 개념
- 모든 Pod는 고유한 IP를 가진다.
- Pod 간에는 NAT 없이 직접 통신할 수 있어야 한다.
- Node 간 Pod 통신도 동일한 규칙이 적용된다.
- Service를 통해 Pod 집합을 안정적으로 접근할 수 있다.
2. Service 개념 및 종류
ClusterIP
- 클러스터 내부에서만 접근 가능한 가상 IP 제공
- 가장 기본적인 Service 타입
apiVersion: v1
kind: Service
metadata:
name: my-clusterip-service
spec:
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
type: ClusterIP
NodePort
- 각 Node의 특정 포트를 열어 외부 접근 가능
- 기본적으로 30000~32767 범위를 사용
apiVersion: v1
kind: Service
metadata:
name: my-nodeport-service
spec:
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
nodePort: 30080
type: NodePort
LoadBalancer
- 클라우드 환경에서 외부 로드밸런서를 프로비저닝
- NodePort와 ClusterIP를 포함하는 상위 개념
apiVersion: v1
kind: Service
metadata:
name: my-loadbalancer-service
spec:
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
type: LoadBalancer
3. DNS 및 CoreDNS
- Kubernetes는 각 Service와 Pod에 DNS 이름을 제공한다.
- 예: my-service.default.svc.cluster.local
- CoreDNS ConfigMap을 수정하여 도메인 해석 방식을 변경할 수 있다.
kubectl -n kube-system edit configmap coredns
4. NetworkPolicy
- Pod 간 네트워크 트래픽 제어 가능
- 기본적으로 모든 트래픽 허용
- 특정 ingress/egress를 허용하거나 차단 가능
예시: 특정 namespace 내 app=frontend Pod만 app=backend Pod에 접근 가능하도록 설정
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend
namespace: default
spec:
podSelector:
matchLabels:
app: backend
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
5. Headless Service
- 클러스터IP를 생성하지 않고 DNS를 통해 Pod 개별 IP를 반환한다.
- StatefulSet과 자주 사용된다.
apiVersion: v1
kind: Service
metadata:
name: my-headless-service
spec:
clusterIP: None
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
마무리
이번 글에서는 Kubernetes의 네트워킹과 서비스 구성을 학습했다. Service 타입의 차이, DNS 동작 방식, NetworkPolicy 설정은 CKA 시험에서 자주 등장하는 영역이다. 실제 환경에서 자주 실습해 두면 시험 대비와 실무 모두에 도움이 된다.
'Cloud > Kubernetes' 카테고리의 다른 글
| [CKA - 5] 스토리지 관리 (0) | 2025.08.20 |
|---|---|
| [CKA - 3] 스케줄링 및 노드 관리 (0) | 2025.08.08 |
| [CKA - 2] Pod 및 Workload 관리 (1) | 2025.08.07 |
| [CKA - 1] Kubernetes 클러스터 구성 및 관리 (1) | 2025.08.06 |
| [CKA] 환경구성 없이 2025 CKA 합격 (1) | 2025.08.05 |