TIL

서버가 달라도 빠르게 통신하는 방법 ( 쿠버네틱스 )

하얀잔디 2025. 7. 29. 22:54

 

 

"K3s 클러스터에 노드를 추가하면 통신이 더 빨라지는가?",
"같은 클러스터 내 노드끼리는 같은 네트워크처럼 취급되는가?"

 




 1. K3s 클러스터에 추가된 노드끼리는 내부 네트워크로 통신

 

K3s는 클러스터 내부 네트워크(CNI) 를 구성해서,
Pod 간 통신 / Node 간 통신을 내부 가상 네트워크에서 처리합니다.

  • 내부에서 DNS로 pod, service 이름으로 접근 가능
  • 기본적으로 Flannel CNI가 내장되어 있고, 다른 CNI 플러그인도 설정 가능

결론:
K3s 클러스터에 조인된 노드들은 “동일한 네트워크 대역처럼 취급”됩니다.
그래서 Service, Pod, Endpoint로 통신할 때 NAT 없이 바로 전달되기 때문에 빠르고 효율적입니다.

 

 


2. 단순 외부 서버끼리 통신 vs 클러스터 내부 통신 비교


일반적인 서버 간 통신 (IP로 직접 연결) 보통 공인/사설 IP, NAT, 방화벽, DNS 이슈 가능
K3s 클러스터 내부 통신 클러스터 내 가상 네트워크(CNI)를 통해 빠르고 안정적으로 연결
클러스터 내 서비스 간 통신 ClusterIP, NodePort, LoadBalancer, Headless 등을 통해 최적화된 경로 제공
 

 3. 빠른 통신이 필요한 경우엔?

예: Redis, PostgreSQL 등은 네트워크 지연이 민감한 경우가 있음

아래와 같은 이점이 있음:

  • 클러스터 내 pod-to-pod 직접 연결 (NAT, 방화벽 회피)
  • DNS로 service.namespace.svc.cluster.local 형태로 서비스 접근
  • 클러스터 내 service discovery 가능

 

 


 4. 단점이나 주의할 점은?

  • 모든 노드는 서로 통신 가능해야 함 (포트 6443, 8472/udp, VXLAN 등 허용)
  • DB처럼 상태를 가지는 서비스는 StatefulSet + PVC 등 안정성 고려 필요
  • 노드 간 연결 속도는 결국 물리 네트워크에 의존 (예: 서로 다른 지역이면 지연 생김)

 

 

 

요약


K3s 클러스터에 조인하면 더 빠른가요?  내부 CNI 네트워크를 통해 더 빠르고 효율적인 통신 가능
같은 네트워크 취급인가요?  Pod-to-Pod, Node-to-Node 모두 내부 IP로 직접 연결됨
굳이 클러스터 안에 붙일 필요 있나요? ✅ DB를 pod로 관리하거나 상태 관리를 쿠버네티스에서 통합하고 싶다면 추천

'TIL' 카테고리의 다른 글

postgres DB 이원화  (3) 2025.08.10
Ingress Controller rewrite 안될때  (2) 2025.07.30
Node 도커 이미지 메모리 용량 줄이는 방법  (0) 2025.07.24
Loki란  (0) 2025.07.23
HPA 오토스케일링 서버 첫 cpu 스파이크 무시하기  (0) 2025.07.20