Kubernetes 2

평균 CPU 35%에서 발생한 90초 서비스 정지 — k8s CPU Limit과 CFS Throttling 원인 분석

개요배경: 인증 서비스 버전 업그레이드(Java 21 → 25, Spring Boot 3.5 → 4.1) 검증을 위한 12시간 롱런 부하테스트 수행사건: 일정 부하(약 400rps) 유지 중 약 90초간 서비스 처리 정지 발생 후 자연 회복결론 요약: k8s CPU Limit의 CFS Bandwidth Control에 의한 컨테이너 동결. DB·GC·특정 API 무관, Java 버전 무관. 신·구 버전 양쪽에서 동일 발생 확인증상처리량(throughput) 순간 0 부근까지 하락HikariCP 커넥션 풀 대기(pending): 0 → 163 폭증응답 최대 지연 3.5초 (= connectionTimeout 3000ms + α)HTTP 5xx 약 11건 — SQLTransientConnectionExcep..

Kubernetes 2026.08.13

Argo Rollouts로 Canary 배포 도입하기: 트래픽 분할 방식 비교부터 analysis 자동 롤백까지

1. 배경운영 중 배포 도중 문제가 생겨 롤백한 적이 있었다.신버전을 한 번에 전체 파드로 올리다 보니, 이상을 알아챘을 땐 이미 전체 트래픽이 신버전을 타고 있었다.그래서 신버전을 일부 트래픽에만 먼저 노출하고 문제가 없으면 비중을 단계적으로 올리는 canary 배포를 검토하게 됐다. 목표는 두 가지였다.문제가 나도 영향 범위를 canary 트래픽으로 한정하고 즉시 롤백한다.단계마다(ex: 10% → 50% → 100%) 검증하면서 비중을 올린다.환경은 이렇다. 쿠버네티스 클러스터가 버전이 다른 두 종류로 공존하고(argo-rollouts 컨트롤러 v1.2.0과 v1.6.6), 두 클러스터 모두 ingress로 Citrix(NetScaler)를 쓴다.argo-rollouts는 이미 설치돼 있었지만 사내..

Kubernetes 2026.06.28