063. k8s 부하 테스트 — k6, Grafana, 비동기 구조

k8s 환경에서 부하 테스트는 애플리케이션 성능과 인프라 반응을 동시에 검증한다. k6를 Pod으로 실행해 클러스터 내부에서 트래픽을 발생시키고, Prometheus와 Grafana로 실시간 메트릭을 수집한다. 동기 API뿐 아니라 큐 기반 비동기 구조도 측정 포인트를 나누면 테스트 가능하다.

2026년 6월 14일 · 5 분 · 2057 단어 · CharmingGroot

011. Kubernetes — 클러스터 구조와 선언적 모델

Kubernetes가 무엇인지, 클러스터가 마스터(control plane)와 워커 노드로 어떻게 나뉘는지, 각 컴포넌트가 어떤 역할을 하는지, 그리고 k8s 전체를 관통하는 핵심 개념인 선언적 모델이 무엇인지를 설명한다. 이후 리소스 시리즈의 기반이 되는 글이다.

2026년 6월 12일 · 6 분 · 2523 단어 · CharmingGroot

012. Kubernetes Pod — 컨테이너를 감싸는 가장 작은 실행 단위

Pod는 k8s에서 배포되는 가장 작은 단위다. 컨테이너가 하나 이상 묶인 실행 단위이고, 같은 파드 안의 컨테이너들은 네트워크와 볼륨을 공유한다. 파드의 라이프사이클, 리소스 요청과 제한, 사이드카 패턴, 초기화 컨테이너가 무엇인지, 그리고 파드를 직접 만들어 쓰지 않는 이유를 설명한다.

2026년 6월 12일 · 5 분 · 2413 단어 · CharmingGroot

013. Kubernetes Deployment — 파드 배포와 업데이트를 관리하는 오브젝트

Deployment는 파드를 직접 만드는 대신 ‘몇 개를 유지할지, 어떻게 업데이트할지’를 선언하는 오브젝트다. 내부적으로 ReplicaSet을 통해 파드를 관리하고, 롤링 업데이트로 무중단 배포를 하며, 문제가 생기면 이전 버전으로 롤백한다. 이 과정이 어떻게 동작하는지, 전략 파라미터를 어떻게 조절하는지를 설명한다.

2026년 6월 12일 · 4 분 · 1910 단어 · CharmingGroot

014. Kubernetes Service — 파드 앞에 세우는 고정 엔드포인트

파드는 죽었다 새로 만들어지면 IP가 바뀐다. Service는 파드 앞에 서서 항상 같은 주소로 트래픽을 받고, 뒤에 있는 파드들 사이에 로드밸런싱한다. ClusterIP, NodePort, LoadBalancer 세 타입의 차이, Ingress와의 관계, k8s 내부 DNS가 어떻게 동작하는지를 설명한다.

2026년 6월 12일 · 5 분 · 2093 단어 · CharmingGroot

015. Kubernetes ConfigMap & Secret — 설정과 민감한 값을 파드와 분리하는 방법

설정값을 컨테이너 이미지에 박으면 환경마다 이미지를 다시 빌드해야 한다. ConfigMap은 일반 설정을, Secret은 민감한 값을 파드와 분리해 관리한다. 주입 방식(환경변수, 볼륨), Secret의 base64가 암호화가 아닌 이유, 프로덕션에서 실제로 안전하게 관리하는 방법을 설명한다.

2026년 6월 12일 · 4 분 · 1727 단어 · CharmingGroot

016. Kubernetes ServiceAccount & RBAC — 파드의 신원과 권한 제어

ServiceAccount는 파드가 k8s API를 호출할 때 쓰는 신원(identity)이다. RBAC은 그 신원에 어떤 리소스에 어떤 작업을 허용할지 정하는 권한 체계다. Role, ClusterRole, RoleBinding, ClusterRoleBinding이 어떻게 조합되는지, 최소 권한 원칙을 어떻게 적용하는지를 설명한다.

2026년 6월 12일 · 4 분 · 1836 단어 · CharmingGroot

017. Kubernetes DaemonSet — 모든 노드에 하나씩 실행되는 파드

DaemonSet은 클러스터의 모든 노드(또는 선택한 노드)에 파드를 정확히 하나씩 실행한다. 노드가 추가되면 자동으로 파드가 생기고, 노드가 제거되면 파드도 사라진다. 로그 수집, 메트릭 수집, 네트워크 플러그인처럼 노드 단위로 실행돼야 하는 인프라 컴포넌트에 쓰인다.

2026년 6월 12일 · 3 분 · 1471 단어 · CharmingGroot

018. Kubernetes HPA — 트래픽에 따라 파드 수를 자동으로 조절하기

HPA(Horizontal Pod Autoscaler)는 CPU·메모리 사용률이나 커스텀 메트릭을 보고 Deployment의 파드 수를 자동으로 늘리고 줄인다. 스케일 계산이 어떻게 이뤄지는지, 실무에서 자주 만나는 함정(requests 미설정, 스케일 다운 지연, 파드 준비 시간)이 무엇인지, 커스텀 메트릭으로 어떻게 확장하는지를 설명한다.

2026년 6월 12일 · 4 분 · 1937 단어 · CharmingGroot

019. Kubernetes 셀프힐링 — 파드가 스스로 회복하는 구조

k8s의 셀프힐링은 선언적 모델과 세 가지 프로브로 구현된다. Liveness probe가 죽은 컨테이너를 재시작하고, Readiness probe가 준비 안 된 파드를 트래픽에서 제외하며, Startup probe가 시작이 느린 앱을 보호한다. 각 프로브가 언제 무엇을 해야 하는지, 잘못 설정했을 때 어떤 문제가 생기는지를 설명한다.

2026년 6월 12일 · 5 분 · 2331 단어 · CharmingGroot