본문 바로가기

Kubernetes181

왜 요즘 모든 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.
🔓 쿠버네티스 etcd의 세 가지 치명적 약점 — 당신의 Secret은 정말 안전한가? Secret이라는 이름이 무색하게, 쿠버네티스의 기밀 데이터 관리는 구멍투성이다. 🎯 이 글에서 다루는 것etcd가 Secret을 기본적으로 암호화하지 않고 평문(Base64)으로 저장하는 이유와 위험성파드를 생성할 수 있는 권한 하나가 Secret RBAC 통제 전체를 우회하는 공격 경로파드가 Secret을 매번 읽어도 감사 로그(Audit Log)가 사실상 공백인 구조적 이유각 취약점에 대한 실질적 대응 방법 📌 도입 — etcd는 쿠버네티스의 심장이자 아킬레스건쿠버네티스 클러스터의 모든 상태 정보는 etcd라는 분산 키-값 저장소에 담긴다. Deployment 정보, ConfigMap, 그리고 우리가 오늘 주목할 Secret까지 전부 이곳에 있다. etcd를 탈취하면 클러스터 전체를 손에 넣은 .. 2026. 4. 2.