본문 바로가기

Kubernetes182

🐢 올릴 땐 즉각, 내릴 땐 머뭇거리는 오토스케일러 — HPA의 비대칭 철학 "올리는 건 0초, 내리는 건 5분." 쿠버네티스 HPA가 스케일 다운에 일부러 지연시간을 걸어두는 이유를 파헤쳐 봅니다.🎯 이 글에서 다루는 것HPA가 Scale Up과 Scale Down을 왜 비대칭으로 설계했는가지연시간(Stabilization Window)을 두지 않으면 터지는 실제 문제들 — 플래핑, 콜드 스타트, 잔여 요청K8s HPA v2의 behavior 필드로 실무에서 튜닝하는 방법AWS Auto Scaling Group, GCP MIG 등 다른 클라우드도 같은 철학을 따르는 이유📌 도입 — "트래픽이 줄었는데 파드가 안 줄어요?"처음 HPA를 운영해본 분이라면 한 번쯤 겪어봤을 장면입니다.트래픽이 순간적으로 치솟으면 HPA는 번개처럼 파드를 늘립니다. 10초도 안 돼 새 파드가 뜨죠.. 2026. 4. 24.
왜 요즘 모든 API가 k8s를 닮아가는가? 🌊 — 선언형 리소스 모델이 사실상 표준이 된 진짜 이유 "서버에게 '무엇을 해라'가 아니라 '무엇이 되어야 하는가'를 말하라."— 이 한 문장이 지난 10년간 API 설계의 풍경을 바꿔놓았다.🎯 이 글에서 다루는 것전통적 REST와 k8s 스타일 API의 근본적인 차이apiVersion / kind / metadata / spec / status 5가지 뼈대가 가진 힘선언형(Declarative) 모델과 Reconciliation Loop의 원리Crossplane, ArgoCD, Istio, Knative까지 왜 전부 k8s 스타일을 채택했는가내 API를 이 스타일로 설계할 때 반드시 챙겨야 할 실전 포인트📌 도입 — REST 설계자의 오래된 고민REST API를 설계해 본 사람이라면 한 번쯤 이런 고민을 해봤을 것이다.사용자 생성은 POST /users.. 2026. 4. 19.
🐳 ECS vs EKS, 뭘 선택해야 할까? — AWS 컨테이너 오케스트레이션 완전 비교 "컨테이너는 띄웠는데, 이걸 어떻게 관리하지?" — AWS를 처음 쓰는 개발자라면 누구나 겪는 고민🎯 이 글에서 다루는 것ECS와 EKS의 핵심 개념과 아키텍처 차이각 서비스의 장단점과 비용 구조실제 인프라 구성 예제 코드 (Task Definition, Helm Chart)팀 규모·워크로드별 선택 기준마이그레이션 시 고려해야 할 함정📌 도입 / 배경컨테이너 기술이 대중화되면서 "어떻게 여러 컨테이너를 안정적으로 운영할 것인가"라는 질문이 생겼습니다. 하나의 서버에 Docker만 설치해서 쓰는 건 개발 환경에서나 가능한 이야기고, 실제 프로덕션에서는 오케스트레이션(Orchestration) — 즉, 컨테이너의 배포, 스케일링, 장애 복구를 자동으로 처리해주는 도구가 필요합니다.AWS에서는 이 역할을 .. 2026. 4. 16.
🏷️ latest 태그, 지금 당장 버려야 하는 이유 — 컨테이너 이미지 태그 불변성(Immutability) 완전 정복 "latest를 쓰면 편하긴 한데… 왜 실무에선 쓰지 말라고 할까?" 오늘 그 이유를 파헤쳐 봅니다.🎯 이 글에서 다루는 것컨테이너 이미지 태그가 mutable(가변)하면 어떤 일이 벌어지는가Immutable 태그란 무엇이고, 왜 정석으로 불리는가실무에서 많이 쓰는 태그 전략 패턴 (SemVer, Git SHA, 날짜 기반)ECR·GCR·Harbor에서 Tag Immutability 강제 설정하는 방법CI/CD 파이프라인에서 불변 태그를 자동화하는 예제📌 도입 / 배경컨테이너를 처음 배울 때 누구나 docker pull nginx:latest 한 줄로 시작합니다. 간편하고, 항상 최신 버전을 받을 수 있을 것 같고, 딱 봐도 직관적이죠. 그런데 실제 운영 환경에서 latest 태그를 그대로 쓰다가 낭.. 2026. 4. 14.
🔄 kubectl로 kubelet 인증서 자동 갱신 설정하기 — ConfigMap 기반 rotateCertificates 완전 정복 노드마다 SSH 접속해서 config 수정하던 시대는 끝났다.ConfigMap 하나로 클러스터 전체를 제어하라. 🎯 이 글에서 다루는 것kube-system 네임스페이스의 kubelet-config ConfigMap 구조와 역할ConfigMap을 수정해 rotateCertificates: true를 적용하는 전체 절차변경 사항을 워커노드의 /var/lib/kubelet/config.yaml에 반영하는 방법자동 갱신이 실제로 동작하는지 검증하는 방법업그레이드 시 설정이 덮어쓰이는 문제와 대처 방법📌 도입 / 배경kubelet 클라이언트 인증서는 기본적으로 1년 유효기간을 갖습니다. 클러스터 규모가 커질수록 워커노드 한 대씩 SSH로 접속해서 /var/lib/kubelet/config.yaml을 수정하는.. 2026. 4. 3.
Pod가 갑자기 사라진다고? 🚨 Kubernetes Graceful Shutdown 완전 정복 Scale-in 할 때마다 클라이언트가 에러를 받는다면, 그건 설계의 문제가 아니라 종료 전략의 문제다.🎯 이 글에서 다루는 것Pod가 종료될 때 실행 중인 요청에 무슨 일이 생기는지SIGTERM과 Graceful Shutdown의 동작 원리terminationGracePeriodSeconds 설정으로 종료를 안전하게 만드는 방법preStop Hook 활용법MSA 환경에서 권장하는 타임아웃 전략📌 도입 / 배경Kubernetes의 HPA(Horizontal Pod Autoscaler)는 트래픽이 줄면 Pod 수를 자동으로 줄여준다. 이건 아주 훌륭한 기능이다.근데 여기서 현실적인 문제가 생긴다."Pod가 줄어드는 순간, 그 Pod에서 처리 중이던 요청은 어떻게 되는 걸까?" 아무 처리를 하지 않으면 .. 2026. 4. 3.