피드로 돌아가기
Two Kubernetes Decisions Nobody Writes About Honestly
Dev.toDev.to
DevOps

Node Sizing 최적화 및 Probe 분리를 통한 Blast Radius 최소화

Two Kubernetes Decisions Nobody Writes About Honestly

Mrinal Narang2026년 6월 30일2intermediate

Context

대형 Node 중심의 Cluster 구성으로 인한 개별 Node 장애 시 과도한 Workload 재스케줄링 부하 발생. Readiness와 Liveness Probe의 동일 설정으로 인한 외부 의존성 장애 시 Cascading Restart 루프 형성 및 서비스 가용성 저하.

Technical Solution

  • Node 크기를 32 CPU에서 16 CPU로 축소하고 개수를 10개에서 20개로 증설하여 Failure Isolation 강화
  • Node 장애 발생 시 재스케줄링 대상 CPU 규모를 320에서 160으로 낮춰 Cluster Autoscaler의 응답 속도 개선
  • 외부 의존성(Database) 상태를 체크하는 Readiness Probe와 프로세스 생존 여부를 확인하는 Liveness Probe를 완전히 분리
  • Readiness Probe 실패 시 Load Balancer에서만 제외하여 트래픽 유입을 차단하고 Pod의 무분별한 재시작 방지
  • Liveness Probe에 엄격한 Threshold를 적용하여 프로세스가 완전히 응답 불능인 상태에서만 Restart 수행

1. Node Group 설계 시 단일 Node 장애가 전체 Cluster에 미치는 영향도(Blast Radius) 산정

2. Readiness Probe와 Liveness Probe의 로직이 중복되었는지 검토 및 외부 의존성 체크 로직 분리

3. Liveness Probe 실패가 Cascading Restart로 이어지는지 시나리오 테스트 수행

원문 읽기