#쿠버네티스

136 편의 글

비용 최적화
14 분 소요

비용 최적화

5부 두 번째 챕터입니다. 26장에서 다섯 출처로 짚었던 비용 항목을 본격적으로 다룹니다. 컴퓨트 (노드)와 부가 (LB · 스토리지 · 네트워크 · 컨트롤 플레인)의 두 축, requests의 비용 의미, VPA · Goldilocks · KRR의 right-sizing, Spot · Karpenter · Cluster Autoscaler의 결정 트리, bin packing과 descheduler, OpenCost · Kubecost의 가시화, namespace 라벨 단위 chargeback / showback, PV · 네트워크 비용까지 한 사이클로 묶고 다음 달 청구서 review 체크리스트로 마무리합니다.

시크릿 운영
14 분 소요

시크릿 운영

5부 세 번째 챕터입니다. K8s Secret의 base64 한계와 etcd encryption-at-rest의 의미부터 시작해, 저장 · 회전 · 주입 · 감사의 네 축으로 시크릿 라이프사이클을 다룹니다. sealed-secrets · external-secrets · SOPS 세 옵션의 비교, IRSA와 결합한 비밀번호 0 운영 (AWS API는 IRSA, DB는 RDS IAM auth), envFrom vs mount의 회전 차이, RBAC로 네임스페이스 단위 분리, Audit log와 GuardDuty의 감사 관점까지 본격적인 운영 매뉴얼로 묶습니다.

앱 배포 골격
12 분 소요

앱 배포 골격

21장에서 띄운 비어 있는 EKS 클러스터 위에 샘플 서비스 myshop-api를 한 묶음의 매니페스트로 배포합니다. Namespace · ServiceAccount · ConfigMap · Secret · Deployment · Service · Ingress · HPA · PodDisruptionBudget의 9개 객체를 한 사이클로 정리하고, AWS Load Balancer Controller로 ALB를 자동 프로비저닝합니다. 그 묶음을 Helm 차트로 추상화해 dev / prod에 서로 다른 values로 적용하는 방식까지 한 번에 따라갑니다.

업그레이드 전략
15 분 소요

업그레이드 전략

5부의 마지막 챕터입니다. K8s 마이너 릴리스 (14개월 지원)를 안전하게 따라가는 운영 매뉴얼입니다. 컨트롤 플레인 → 데이터 플레인 (노드) → 애드온의 순서, deprecated API 검출 (pluto · kubent · apiserver 메트릭), 매니페스트 / Helm / Operator CR의 API 버전 마이그레이션, EKS의 노드 그룹 / Karpenter NodePool drift 흐름, 노드 drain의 안전장치 (PDB · terminationGracePeriodSeconds), blast radius 최소화, 롤백 시나리오, RPO / RTO 별 백업 선택, 그리고 업그레이드 전 1주 / 당일 / 후 1주 체크리스트까지 한 사이클로 다룹니다.

옵저버빌리티
13 분 소요

옵저버빌리티

운영 클러스터의 시야를 만드는 세 축 — 메트릭 (Prometheus + kube-state-metrics + node-exporter), 로그 (Loki), 트레이스 (OpenTelemetry + Tempo) — 와 시각화 (Grafana), 알람 (Alertmanager)의 표준 스택을 정리합니다. kube-prometheus-stack의 ServiceMonitor · PrometheusRule, PromQL · LogQL의 한 줄 예시, 그리고 카디널리티 · 보존 · 알람 SNR · golden signals의 운영 가드레일까지 한 사이클로 다룹니다.

운영 체크리스트
15 분 소요

운영 체크리스트

4부 (EKS 실전)의 마지막 챕터입니다. 클러스터를 안정적으로 띄우는 일과 한 해 동안 안전하게 운영하는 일은 다른 결의 작업입니다. EKS 마이너 업그레이드 사이클, 노드 그룹 교체 패턴, RDS PITR과 분기 복구 훈련, Karpenter + Spot으로 비용을 잡는 길, kube-bench · Trivy · Kyverno로 보안 점검을 정기화하는 흐름까지 정리합니다. 마지막으로 4부 6장 (21~26장)의 회고와 1~4부 26장이 손에 무엇을 남겼는지를 한 묶음으로 짚습니다.

풀스택 앱 EKS 배포하기
16 분 소요

풀스택 앱 EKS 배포하기

6부 캡스톤 — 책의 마지막 챕터입니다. 리액트의 Next.js (App Router + RSC + Server Actions) 앱과 모던 파이썬의 FastAPI (SQLAlchemy 2.x + Pydantic v2) 앱을 같은 TODO 도메인 위에서 한 EKS 클러스터에 함께 배포합니다. Terraform + Karpenter + IRSA + ALB Controller + ExternalDNS + cert-manager의 클러스터 셋업부터, RDS + External Secrets + RDS IAM auth의 DB 연동, Helm + ArgoCD ApplicationSet의 환경별 배포, Prometheus + Grafana + Loki + OpenTelemetry의 옵저버빌리티, HPA + Karpenter의 오토스케일링, k6 부하 테스트 + OpenCost 비용 추정, 그리고 26장 + 30장 운영 사이클의 적용까지를 13개의 PR로 한 사이클로 다룹니다. 1~30장의 모든 도구가 한 시스템 안에서 어떻게 맞물리는지의 시야가 본 캡스톤에서 손에 들어옵니다.

Certified Kubernetes Administrator (CKA) #10 Workloads 1: Deployment 깊이, ReplicaSet, rolling update/rollback
9 분 소요

Certified Kubernetes Administrator (CKA) #10 Workloads 1: Deployment 깊이, ReplicaSet, rolling update/rollback

Certified Kubernetes Administrator (CKA) 시리즈의 열 번째 글입니다. 운영자가 가장 자주 다루는 워크로드인 Deployment를 깊이 들여다봅니다. Deployment→ReplicaSet→Pod 계층과 라벨 selector, kubectl로 생성과 스케일을 처리하는 법, rollingUpdate 전략(maxSurge/maxUnavailable)으로 무중단 업데이트를 보장하는 조건, 그리고 kubectl rollout으로 버전을 추적하고 되돌리는 롤백을 손에 익히겠습니다.

Certified Kubernetes Application Developer (CKAD) #5 Workloads 1: Deployment, ReplicaSet, rolling update와 rollback
10 분 소요

Certified Kubernetes Application Developer (CKAD) #5 Workloads 1: Deployment, ReplicaSet, rolling update와 rollback

Certified Kubernetes Application Developer (CKAD) 시리즈의 다섯 번째 글입니다. 앱 배포의 중심인 Deployment를 명령형으로 생성하고, Deployment,ReplicaSet,Pod의 관계와 스케일을 정리합니다. rollingUpdate의 maxSurge,maxUnavailable의미, kubectl set image로 새 버전을 배포하는 흐름, kubectl rollout으로 상태를 추적하고 실패한 버전을 undo로 되돌리는 롤백 시나리오를 손으로 실습하겠습니다.

Certified Kubernetes Security Specialist (CKS) #3 CIS benchmark (kube-bench), 컴포넌트 보안, Ingress TLS, 바이너리 검증
10 분 소요

Certified Kubernetes Security Specialist (CKS) #3 CIS benchmark (kube-bench), 컴포넌트 보안, Ingress TLS, 바이너리 검증

Certified Kubernetes Security Specialist (CKS) 시리즈 세 번째 글입니다. Cluster Setup도메인의 나머지 절반인 클러스터 자체의 하드닝을 다룹니다. CIS Kubernetes benchmark가 무엇인지, kube-bench로 control plane과 노드를 점검해 PASS/FAIL/WARN 결과를 읽고 remediation을 적용하는 법, apiserver와 kubelet의 위험한 플래그를 안전한 값으로 바꾸는 절차, Ingress에 TLS를 붙이는 방법, 그리고 다운로드한 바이너리를 sha256sum으로 검증하는 흐름까지 명령과 매니페스트로 손에 익히겠습니다.

ConfigMap과 Secret
16 분 소요

ConfigMap과 Secret

ConfigMap과 Secret으로 설정과 비밀번호를 매니페스트 본체에서 분리합니다. 12-factor의 "설정은 환경에 둔다"를 K8s에서 푸는 모양, env · envFrom · volume 세 가지 주입 방식, Secret의 base64가 암호화가 아니라는 한 줄, 그리고 설정 변경 시 Pod 재시작이 필요한 이유까지 다룹니다.

Deployment와 ReplicaSet
15 분 소요

Deployment와 ReplicaSet

선언형 배포와 롤링 업데이트를 다룹니다. Deployment / ReplicaSet / Pod 세 단의 관계를 잡고, replicas: 3의 self-healing, RollingUpdate의 maxSurge / maxUnavailable, rollout undo 롤백, Deployment가 풀지 않는 워크로드 (StatefulSet · DaemonSet · Job)까지 한 사이클로 정리합니다.