피드로 돌아가기
server-side sharded watch is Kubernetes admitting the control plane has a data-scale problem
Dev.toDev.to
Infrastructure

K8s v1.36 Server-side Sharded Watch를 통한 Control Plane 데이터 배포 병목 해결

server-side sharded watch is Kubernetes admitting the control plane has a data-scale problem

Paulo Victor Leite Lima Gomes2026년 5월 8일7advanced

Context

Kubernetes 클러스터 규모 확장에 따라 API Server가 단순 요청 처리기를 넘어 대규모 데이터 배포 시스템으로 변모함. 수많은 Controller와 Agent가 Watch 모델을 통해 상태를 동기화하며 API Server에 과도한 Read-amplification 부하를 유발하는 구조적 한계 발생.

Technical Solution

  • 단일 거대 스트림 기반의 List/Watch 구조에서 Server-side Sharding 방식으로 아키텍처 전환
  • 전체 리소스 세트를 여러 Shard로 분할하여 클라이언트가 데이터셋의 일부 파티션만 소비하도록 설계
  • 서버 측에서 부하를 지능적으로 분산하여 개별 클라이언트의 처리 부담 및 API Server의 Fan-out 압력 감소
  • 컨트롤러 중심의 에코시스템에서 발생하는 데이터 구독 모델의 확장성 문제 해결
  • 단순한 API 응답 체계를 넘어 분산 이벤트 배포 시스템으로의 제어 평면 역할 재정의

1. 클러스터 내 설치된 Operator 및 Custom Controller의 총 Watch 요청 수 파악

2. API Server CPU 및 네트워크 대역폭의 Read-amplification 지표 모니터링

3. 대규모 리소스를 처리하는 클라이언트의 경우 Server-side Sharding 적용 가능 여부 검토

4. 제어 평면 리소스 소비에 대한 'Good Citizenship' 가이드라인 수립 및 적용

원문 읽기