쿠버네티스 HPA 설정 Node.js 앱 비교 — CPU vs 메모리 vs KEDA
Node.js 앱을 HPA로 스케일링할 때 후보는 셋이다. CPU 기반, 메모리 기반, KEDA. 어느 게 맞는지 세 가지 축으로 비교하고 벤치마크로 검증한 결과를 적는다. TypeScript 제네릭으로 메트릭을 타입화한 예제도 포함한다.
Node.js 앱을 HPA로 스케일링할 때 후보는 셋이다. CPU 기반, 메모리 기반, KEDA. 어느 게 맞는지 세 가지 축으로 비교하고 벤치마크로 검증한 결과를 적는다. TypeScript 제네릭으로 메트릭을 타입화한 예제도 포함한다.
React Router로 만든 SPA를 Kubernetes Ingress에 올렸더니 새로고침할 때마다 404가 떴다. 원인부터 nginx-ingress 어노테이션 설정, 캐싱 정책, subpath 배포까지 실무에서 바로 적용할 수 있는 순서로 정리한다.
쿠버네티스 컨테이너 이미지 취약점 스캔 도구 3종을 후보로 놓고 비교했다. 속도, 오탐, CI 통합 난이도를 기준으로 따져본 내용을 모았다.
쿠버네티스 리소스 설정에서 requests와 limits의 역할은 다르다. 같은 값으로 두면 두 메커니즘이 충돌한다. FastAPI 서비스 운영 기준으로 워크로드별 설정값과 판단 기준을 메모로 남긴다.
FastAPI 워커에서 주간 47건씩 발생하던 OOMKilled를 Kubernetes VPA 설정으로 3건까지 줄였다. HPA·수동 튜닝과 비교한 기준과 EKS 환경에서의 helm 설치, Recommender 모드 활용까지 다룬다.
쿠버네티스 Ingress Nginx 설정을 단순 설치만 하고 끝내면 운영 들어가서 반드시 한 번은 터진다. TLS, 라우팅, Rate Limit, Canary까지 실제 부딪힌 에러와 해결을 정리한다.
쿠버네티스 NetworkPolicy 설정 후보로 Calico, Cilium, kube-router 셋을 비교했다. 표현력, 성능 오버헤드, 운영 편의성을 기준으로 항목별로 따져본 기록이다.
TypeScript Express/Fastify 앱을 Kubernetes에 올릴 때 Alpine부터 잡는 게 흔한 선택이지만, native 모듈과 musl libc가 발목을 잡는다. node:20-slim과 V8 힙 분리로 OOMKilled를 잡은 실측 기반 구성을 정리한다.
EKS 위에 GitHub Actions ARC를 올려 ephemeral 러너로 운영한 3개월의 기록이다. 비용은 EC2 self-hosted 대비 절반 이하로 떨어졌고, 그 과정에서 만난 함정과 판단 기준을 시간순으로 풀었다.
HPA만으로 버티던 EKS 워커 클러스터에 KEDA를 도입한 3개월의 기록이다. SQS와 Kafka Lag 기반으로 스케일링을 다시 설계했더니 노드 평균 사용량이 30% 줄었다. 그 사이 IRSA 연결과 폴링 주기 때문에 헤맨 시간도 적지 않았다.
React 앱을 클러스터에 올렸더니 이미지 1.2GB, 롤링 중 502 에러. 멀티스테이지 빌드와 readiness probe로 둘 다 잡은 기록이다.
ArgoCD GitOps 설정을 처음부터 끝까지 따라가며, Jenkins 기반 스크립트 배포에서 선언적 배포로 넘어갈 때 걸리는 지점을 짚는다. Helm 설치, 프라이빗 레포 연동, Sync Policy, selfHeal 검증까지 v2.13 기준 실제 구성을 공유한다.