쿠버네티스: 입문에서 EKS 실전까지 책 표지

쿠버네티스: 입문에서 EKS 실전까지

kubectl 첫 명령부터 GitOps · 옵저버빌리티까지, 한 권으로 끝내는 쿠버네티스

연재 중 32장마지막 업데이트: 2026년 5월 21일
1장부터 시작 →

이 책이 다루는 것 #

  1. 기초부터 운영까지 하나의 흐름으로 연결합니다kubectl get pods부터 RBAC · Admission Controller · CRD · GitOps · 옵저버빌리티 · EKS 운영까지, 쿠버네티스의 핵심 개념을 실전 운영 흐름 안에서 자연스럽게 이어 갑니다.
  2. EKS를 중심에 둡니다 — 로컬 환경 minikube · kind도 다루지만, 책의 중심은 AWS EKS 위에서의 실전 운영입니다. 로컬 학습만으로는 이어지기 어려운 클라우드 운영 경험까지 자연스럽게 확장합니다.
  3. YAML만 보여주지 않습니다 — 왜 리소스가 그런 형태를 가지는지, 어떤 컨트롤러가 상태를 유지하는지, 문제가 생기면 어디서부터 진단해야 하는지를 함께 설명합니다.
  4. 운영까지 깊이 있게 다룹니다 — RBAC · NetworkPolicy · Admission을 통한 보안, Prometheus · Grafana · Loki · OpenTelemetry 기반의 옵저버빌리티, 디버깅, 비용 최적화, 업그레이드, 백업과 복구까지 실제 운영에 필요한 내용을 입문서의 마지막 단계에서 함께 다룹니다.
  5. 마지막에는 하나의 풀스택 시스템으로 완성합니다 — 6부 캡스톤에서는 리액트 책의 Next.js 앱과 모던 파이썬 책의 FastAPI 앱을 하나의 EKS 클러스터에 함께 배포합니다. 이를 통해 1~30장에서 다룬 기술들이 실제 서비스 안에서 어떻게 연결되고 운영되는지를 직접 확인할 수 있습니다.

이 책에서 다루지 않는 것 #

  • 쿠버네티스 컨트리뷰션 / kubelet 내부 / etcd 운영 같은 클러스터 컴포넌트 깊이는 별도 책에서 다룹니다.
  • Helm 차트 작성법 깊이 · ArgoCD ApplicationSet 패턴 · Cilium eBPF 데이터플레인 깊이는 후속 K8s 심화 책의 영역입니다. 본 책은 “쓰는 법"까지만 다룹니다.
  • 멀티 클러스터 페더레이션 / 서비스 메시 (Istio / Linkerd) 깊이는 후속 책에서 다룹니다.
  • EKS 외 다른 매니지드 (GKE / AKS) 별 차이 깊이는 부록에서 매핑 표 정도만 다룹니다.

이런 분께 추천합니다 #

  • 컨테이너는 알지만 쿠버네티스는 처음인 분 — Docker / docker-compose까지 와 보고 “이제 k8s인가?” 단계에서 막힌 개발자입니다. 부록 A “docker-compose에서 k8s로"가 출발점이 됩니다.
  • kubectl은 써봤지만 운영은 모르는 분 — Pod / Deployment / Service까지는 익숙하지만 RBAC · 옵저버빌리티 · GitOps · 비용 · 업그레이드 같은 운영 경험이 부족한 분입니다. 3~5부가 가치 흡수 구간입니다.
  • AWS 환경에서 k8s를 도입해야 하는 분 — EKS 위에 production 워크로드를 올려야 하는 인프라 / 백엔드 엔지니어입니다. 4부 EKS 실전이 바로 가이드입니다.
  • 인프라 운영자 / DevOps · SRE 입문 트랙 — 5부 운영·디버깅·비용 + 6부 풀스택 EKS 배포가 매뉴얼이 됩니다.

이 책의 구조 #

전체 분량은 본문 1~31장 + 부록 A 1장으로 32장입니다.

  • 1부 쿠버네티스 시작 (7장) — 쿠버네티스란 · 로컬 환경 · kubectl과 첫 Pod · Deployment · Service · ConfigMap/Secret · Namespace를 다루며, 작은 클러스터를 손으로 운용할 수 있게 합니다.
  • 2부 워크로드와 운영 (7장) — StatefulSet · PV/PVC · Ingress · resources · 헬스체크 · 오토스케일링 · RBAC를 다루며, 다양한 워크로드를 운영할 수 있게 합니다.
  • 3부 깊이 (6장) — CNI · RBAC 깊이 · Admission Controller · CRD/Operator · 옵저버빌리티 · GitOps까지 다루며 운영자의 시야로 확장합니다.
  • 4부 EKS 실전 (6장) — EKS 셋업 · 앱 배포 골격 · RDS 연동 · CI/CD · 모니터링·알람 · 운영 체크리스트를 통해 AWS 위 실전 운영의 한 사이클을 익힙니다.
  • 5부 운영 · 디버깅 · 비용 (4장) — kubectl 디버깅 패턴 · 비용 최적화 · 시크릿 운영 · 업그레이드 전략으로 운영 중 마주치는 네 가지 주제를 다룹니다.
  • 6부 종합 실습 (1장) — modern-python (FastAPI) + modern-react (Next.js) 앱을 한 EKS 클러스터에 Ingress · Helm · ArgoCD · 옵저버빌리티 · IRSA · External Secrets까지 적용해 함께 배포합니다.
  • 부록 A (1장)docker-compose.yml 리소스를 k8s 리소스로 옮기는 매핑 표와, 마이그레이션할 때 자주 막히는 일곱 가지 차이를 정리합니다.

책의 바탕이 된 시리즈 #

이 책은 다음 시리즈 26편을 바탕으로, 신규 5장 (5부 4 + 6부 1)과 부록 A, 그리고 전체 개정을 더해 다시 엮은 책입니다. 아래 시리즈는 지금도 사이트에 무료로 남아 있습니다.

  • 쿠버네티스 기초 7편 — 1부의 컴파일 소스로, Pod / Deployment / Service / ConfigMap / Namespace를 처음 정리한 시리즈입니다.
  • 쿠버네티스 중급 7편 — 2부의 컴파일 소스로, StatefulSet · PV · Ingress · 헬스체크 · 오토스케일링 · RBAC를 다룹니다.
  • 쿠버네티스 고급 6편 — 3부의 컴파일 소스로, CNI · RBAC 깊이 · Admission Controller · CRD/Operator · 옵저버빌리티 · GitOps를 다룹니다.
  • 쿠버네티스 실전 6편 — 4부의 컴파일 소스로, EKS 위에서 실전 운영의 한 사이클을 다룹니다.

책은 위 시리즈를 입문부터 EKS 실전까지 이어지게 다시 엮고, 운영 · 디버깅 · 비용 챕터 4개 + 풀스택 EKS capstone + docker-compose 마이그레이션 부록을 더해 한 권으로 묶었습니다. 핵심은 30% 이상 신규 / 개정 비율과 풀스택 캡스톤입니다.

함께 쓰면 좋은 도구 #

이 책의 실습은 거의 매 챕터에서 YAML 매니페스트를 손으로 적습니다. 들여쓰기 한 칸이나 따옴표 한 짝이 어긋나면 kubectl apply가 의도와 다른 에러를 뱉습니다. 매니페스트를 클러스터에 적용하기 전에 utilrepo의 YAML 검증기에 한 번 붙여 넣어 구문이 깨지지 않았는지 확인하시면, 클러스터 단에서 디버깅할 시간을 그만큼 줄일 수 있습니다. utilrepo는 브라우저에서 동작하는 가벼운 웹 유틸리티 모음으로, 비밀 정보가 외부로 나가지 않고 ---로 묶인 다중 문서 매니페스트와 탭·스페이스 혼용 같은 자주 만나는 함정까지 함께 잡아 줍니다.

이 책의 운영 #

이 책은 사이트 광고 (AdSense)와 독자 후원으로 운영됩니다. 결제 / 구매 절차는 두지 않았으며, 32장 본문 전체는 사이트에서 그대로 읽으실 수 있습니다.

책의 한 챕터가 도움이 되셨다면 Ko-fi에서 후원해 주실 수 있습니다. 후원은 다음 minor 개정과 후속 책 집필의 시간을 만들어 줍니다.

❤️ Ko-fi에서 후원하기 ($1~)

자주 묻는 질문 #

이 책은 AWS 책과 어떻게 다른가요 #

AWS 책(출시 예정)과 본 책은 자매 상품입니다. 같은 풀스택 앱 (modern-python + modern-react)을 6부 캡스톤에서 다른 플랫폼으로 배포합니다 — 본 책은 EKS, AWS는 ECS Fargate입니다. 두 책을 비교해 읽으시면 “매니지드 컨테이너 vs k8s"의 운영상 차이를 명확히 알 수 있습니다.

Kubernetes 메이저 버전이 바뀌면 책이 폐기되나요 #

핵심 모델 (Pod / Deployment / Service / Ingress / RBAC / Operator / GitOps)은 적어도 다음 2~3년의 메이저 버전 동안 그대로 유지될 것으로 봅니다. 변경된 API와 deprecated 표시는 minor 개정 (v1.x)으로 반영하고, 메이저 변경 (예: k8s 2.0 가설) 시점에는 v2 책 라인을 별도로 시작할 수 있습니다.

EKS 따라하기 비용은 얼마나 드나요 #

4부 EKS 실전 + 6부 캡스톤을 따라하시면 한 달 약 $40~$80의 EKS 클러스터 비용이 발생합니다 (t3.medium 노드 2대 + EKS 컨트롤 플레인 + ALB + RDS db.t3.micro). EKS 인프라 비용은 AWS 청구서로 직접 발생하니, 실습이 끝나면 클러스터를 즉시 삭제하실 수 있도록 각 챕터 끝에 정리 명령을 함께 정리합니다. AWS 무료 한도로 최대한 줄이는 옵션도 6부 도입부에서 안내합니다.

책의 코드는 어디서 받을 수 있나요 #

각 챕터의 매니페스트와 Terraform 코드는 본문 안 코드 블록으로 직접 적혀 있어, 손으로 따라 적으시는 학습 방식을 권장합니다. 6부 캡스톤의 13단계 완성본은 별도의 GitHub 저장소 (modern-kubernetes-capstone)로 제공될 예정입니다. 준비되면 이 책 소개 페이지에 링크를 추가합니다.

한국어 외 언어로도 볼 수 있나요 #

한국어 · 일본어 · 영어 세 언어 모두 같은 32장 구조로 공개되어 있습니다. 각 언어의 책 소개에서 바로 읽으실 수 있습니다.

책의 한 챕터가 사이트의 한 글과 70% 이상 같지 않나요 #

일부 챕터는 컴파일 소스 시리즈 글과 토픽이 같습니다. 다만 책 챕터는 (1) 책 흐름에 맞게 재서술, (2) Kubernetes 1.32 + EKS 기준으로 통일, (3) 책 안의 다른 챕터와 cross-link, (4) 연습문제와 한 줄 요약 추가로 다시 써서, 같은 토픽이라도 결과물은 다른 자료에 가깝습니다. 또한 신규 5장 (5부 4장 + 6부 캡스톤)과 부록 A는 컴파일 소스에 없습니다.

후원 / 피드백은 어떻게 보내나요 #

피드백은 블로그를 통한 댓글 또는 이메일로 환영합니다. 챕터별 오타 / 개선 제안 / 매니페스트 오류 보고는 다음 minor 개정에 빠르게 반영됩니다. 후원은 Ko-fi 채널을 두고 있으며, $1부터 자유롭게 보내주실 수 있습니다.

다음 단계 #

이 책의 ko · ja · en 32장은 모두 공개됐습니다. 앞으로의 갱신은 다음과 같이 진행됩니다.

  1. v1 본문 안정화 — 출시 후 4~8주 동안 독자 피드백을 받아 오타 / 매니페스트 오류 / 미흡한 설명을 minor 개정 (v1.x)으로 반영합니다. 세 언어에 같은 개정을 함께 적용합니다.
  2. 6부 캡스톤 GitHub 저장소 — 13단계 완성본을 별도 저장소로 정리해 이 책 소개 페이지에 링크를 추가합니다.
  3. Kubernetes / EKS 정기 갱신 — 4부 EKS 실전 챕터의 가격 표와 인스턴스 타입은 6개월 주기로 점검합니다. Kubernetes 메이저 변경 시점에 v2 책 라인을 시작할 수 있습니다.

새 챕터와 메이저 개정 알림은 RSS 피드로 받아보실 수 있습니다.

목차

1부 쿠버네티스 시작 7 장

쿠버네티스란 · 로컬 환경 · kubectl과 첫 Pod · Deployment / Service · ConfigMap / Secret · Namespace까지 입문자가 손에 익혀야 할 7개 토픽을 다룹니다.

  1. 1. 쿠버네티스란 왜 컨테이너 오케스트레이터가 필요한가. Docker / docker-compose까지 써 본 독자를 출발선으로 두고, 단일 컨테이너 도구의 한계 다섯 가지, 선언형 desired state + reconcile loop 모델, control plane / worker node의 큰 그림, 책의 범위까지 정리합니다.
  2. 2. 로컬 환경 minikube · kind · Docker Desktop k8s 중 어느 것을 쓸지 정합니다. 세 옵션의 동작 방식·장단점을 비교하고, kubectl을 설치한 뒤 kind로 첫 클러스터를 띄워 노드와 시스템 Pod를 확인하는 방식까지 한 번에 따라갑니다.
  3. 3. kubectl과 첫 Pod kubectl의 멘탈 모델을 잡고 첫 Pod를 띄웁니다. kubectl run의 명령형 한 사이클부터 YAML 매니페스트의 선언형, get / describe / logs / exec 일상 명령, Pod 라이프사이클과 ImagePullBackOff · CrashLoopBackOff 흔한 실패 패턴까지 다룹니다.
  4. 4. Deployment와 ReplicaSet 선언형 배포와 롤링 업데이트를 다룹니다. Deployment / ReplicaSet / Pod 세 단의 관계를 잡고, replicas: 3의 self-healing, RollingUpdate의 maxSurge / maxUnavailable, rollout undo 롤백, Deployment가 풀지 않는 워크로드 (StatefulSet · DaemonSet · Job)까지 한 사이클로 정리합니다.
  5. 5. Service Pod IP가 임시라는 문제를 푸는 추상화 — Service. 안정된 ClusterIP · selector · Endpoints / EndpointSlice · 그리고 ClusterIP · NodePort · LoadBalancer 세 타입의 선택 기준, kube-proxy의 DNAT, CoreDNS의 짧은 이름 풀이까지 한 사이클로 다룹니다.
  6. 6. ConfigMap과 Secret ConfigMap과 Secret으로 설정과 비밀번호를 매니페스트 본체에서 분리합니다. 12-factor의 "설정은 환경에 둔다"를 K8s에서 푸는 모양, env · envFrom · volume 세 가지 주입 방식, Secret의 base64가 암호화가 아니라는 한 줄, 그리고 설정 변경 시 Pod 재시작이 필요한 이유까지 다룹니다.
  7. 7. Namespace와 라벨 한 클러스터를 네임스페이스로 갈라 두는 모델과 라벨 · 셀렉터의 문법을 정리합니다. default의 한계, 시스템 네임스페이스 넷, RBAC · ResourceQuota · NetworkPolicy의 단위로서의 네임스페이스, kubens 운영 팁, app.kubernetes.io/* 표준 라벨, kubectl -l의 selector 문법까지 다루며 1부를 마무리합니다.
2부 워크로드와 운영 7 장

StatefulSet · PV/PVC · Ingress · resources · 헬스체크 · 오토스케일링 · RBAC까지 다루면서, 작은 클러스터에서 다양한 워크로드를 운영하는 단계로 옮겨갑니다.

  1. 8. StatefulSet / DaemonSet / Job / CronJob Deployment의 stateless 가정으로는 표현되지 않는 네 갈래 워크로드를 다루는 컨트롤러들을 정리합니다. StatefulSet의 정체성과 PVC 1:1, DaemonSet의 노드 단위 한 개, Job의 종료 모델, CronJob의 cron 스케줄링과 concurrencyPolicy · startingDeadlineSeconds의 안전장치까지 한 사이클로 다룹니다.
  2. 9. PV / PVC / StorageClass Pod의 생애주기 너머까지 살아남는 영속 데이터 모델을 다룹니다. PV · PVC · StorageClass의 삼각관계, 정적 · 동적 프로비저닝, accessModes (RWO · RWX · RWOP), reclaimPolicy, volumeBindingMode의 WaitForFirstConsumer, allowVolumeExpansion, StatefulSet의 volumeClaimTemplates가 그 위에서 무엇을 만드는지까지 한 사이클로 정리합니다.
  3. 10. Ingress와 Ingress Controller 외부 트래픽이 클러스터 안 Service로 들어오는 모델을 한 곳에 모으는 추상화입니다. Ingress 객체와 Ingress Controller의 두 층 분리, 호스트 · 경로 · pathType 기반 라우팅, TLS 종단과 cert-manager, IngressClass, 그리고 후속 표준인 Gateway API까지 한 사이클로 정리합니다.
  4. 11. resources.requests / limits 컨테이너가 CPU와 메모리를 어떻게 요청하고 어떻게 상한을 부여받는가의 모델을 다룹니다. requests와 limits의 분리, QoS 클래스 (Guaranteed · Burstable · BestEffort), CPU throttling과 메모리 OOMKilled의 동작 차이, JVM · Go 런타임의 cgroup 인식, LimitRange · ResourceQuota의 네임스페이스 정책, 그리고 처음 값을 정하고 조정하는 운영 사이클까지 한 사이클로 정리합니다.
  5. 12. Health check K8s가 컨테이너의 살아 있음과 트래픽을 받을 준비됨을 어떻게 판단하는지의 모델을 다룹니다. liveness · readiness · startup 세 probe의 역할 분리, httpGet · tcpSocket · exec 검사 방식, initialDelaySeconds · periodSeconds · failureThreshold 같은 매개변수 튜닝, liveness에 외부 의존성을 넣었을 때의 cascading failure, terminationGracePeriodSeconds와 preStop 훅의 graceful shutdown까지 한 사이클로 정리합니다.
  6. 13. 오토스케일링 운영 클러스터의 부하 변동을 사람의 개입 없이 흡수하는 세 차원의 자동 조정을 다룹니다. HPA (Pod 개수) · VPA (Pod 자원) · Cluster Autoscaler (노드 개수)의 역할 분리, metrics-server 전제, HPA의 autoscaling/v2 매니페스트와 비례식 알고리즘, scale up · down 비대칭의 behavior, custom metric과 KEDA, VPA의 updateMode와 HPA · VPA 충돌, Karpenter까지 한 사이클로 정리합니다.
  7. 14. RBAC / NetworkPolicy / ResourceQuota 한 클러스터에 여러 팀 · 환경이 같이 사는 멀티테넌트 운영의 격리를 만드는 세 정책 객체를 다룹니다. RBAC의 Role · ClusterRole · ServiceAccount · RoleBinding 모델, NetworkPolicy의 default-deny 패턴과 CNI 의존성, ResourceQuota와 LimitRange의 짝 관계까지 한 사이클로 정리하며 2부를 마무리합니다.
3부 깊이 — 보안 · 확장 · 옵저버빌리티 6 장

CNI 깊이 · RBAC 깊이 · Admission Controller · CRD/Operator · Prometheus/Grafana/Loki · GitOps를 다루면서 운영자의 시야로 확장합니다.

  1. 15. CNI 깊이 같은 NetworkPolicy 매니페스트가 Calico 위에서는 iptables 룰로, Cilium 위에서는 eBPF 프로그램으로 풀리는 데이터 플레인의 깊이를 다룹니다. K8s 네트워크 모델의 네 조건, CNI 인터페이스의 정체, iptables · IPVS · eBPF 세 데이터 플레인 모델, Calico와 Cilium의 비교, 그리고 CNI 선택의 실전 기준까지 한 사이클로 정리합니다.
  2. 16. RBAC / ServiceAccount 깊이 14장 RBAC의 기본 위에 운영 클러스터에서 마주치는 깊이를 한 층 더 얹습니다. ClusterRole을 라벨로 합치는 Aggregated ClusterRole, 다른 주체의 권한으로 호출하는 Impersonation, ServiceAccount 토큰이 영구 Secret에서 만료 · audience · rotation을 갖춘 projected token으로 바뀐 흐름, 그리고 EKS의 IRSA · GKE의 Workload Identity로 K8s ServiceAccount를 클라우드 IAM과 묶는 모델까지 한 사이클로 정리합니다.
  3. 17. Admission Controller K8s API 서버가 매니페스트를 etcd에 저장하기 직전 단계에서 검사 · 변형하는 admission의 모델을 다룹니다. Mutating · Validating 두 종류, 빌트인 컨트롤러 (LimitRanger · ResourceQuota · PodSecurity 등), Webhook 메커니즘, 그리고 그 위에 얹힌 두 정책 엔진 OPA Gatekeeper (Rego)와 Kyverno (YAML)의 비교까지 한 사이클로 정리합니다.
  4. 18. CRD와 Operator 패턴 K8s API를 사용자 도메인의 객체로 확장하는 두 축을 다룹니다. CustomResourceDefinition으로 새 객체 종류를 정의하고, controller-runtime 기반의 Operator가 1장에서 본 reconcile loop를 그 객체 위에 걸어 K8s의 선언적 모델을 도메인까지 확장합니다. ownerReference · finalizer · status subresource의 세 표준 패턴과 Kubebuilder · Operator SDK의 빌드 도구까지 한 사이클로 정리합니다.
  5. 19. 옵저버빌리티 운영 클러스터의 시야를 만드는 세 축 — 메트릭 (Prometheus + kube-state-metrics + node-exporter), 로그 (Loki), 트레이스 (OpenTelemetry + Tempo) — 와 시각화 (Grafana), 알람 (Alertmanager)의 표준 스택을 정리합니다. kube-prometheus-stack의 ServiceMonitor · PrometheusRule, PromQL · LogQL의 한 줄 예시, 그리고 카디널리티 · 보존 · 알람 SNR · golden signals의 운영 가드레일까지 한 사이클로 다룹니다.
  6. 20. GitOps 매니페스트의 source of truth를 git에 두고 클러스터 안의 컨트롤러가 git을 watch 해 자동으로 동기화하는 운영 모델을 다룹니다. push 모델과 pull 모델의 차이, GitOps의 네 원칙, ArgoCD의 Application CRD · App of Apps · Sync Wave, Flux의 GitRepository · Kustomization · HelmRelease, 디렉터리 구조 패턴, 그리고 비밀을 git에 두는 세 가지 표준 도구까지 한 사이클로 정리하며 3부를 마무리합니다.
4부 EKS 실전 6 장

EKS 클러스터 셋업 · 앱 배포 골격 · RDS 연동 · CI/CD · 모니터링/알람 · 운영 체크리스트로 AWS 위 실전 운영의 한 사이클을 익힙니다.

  1. 21. EKS 클러스터 셋업 AWS EKS 위에 진짜 운영 클러스터를 처음부터 띄우는 흐름을 다룹니다. Terraform으로 VPC · EKS 컨트롤 플레인 · 노드 그룹 · IRSA · 필수 애드온 (VPC CNI · CoreDNS · kube-proxy · EBS CSI)을 한 코드베이스로 선언하고, eksctl의 빠른 셋업 옵션, Karpenter의 노드 오토스케일링, 그리고 첫 점검 · 비용 모델까지 한 사이클로 정리합니다.
  2. 22. 앱 배포 골격 21장에서 띄운 비어 있는 EKS 클러스터 위에 샘플 서비스 myshop-api를 한 묶음의 매니페스트로 배포합니다. Namespace · ServiceAccount · ConfigMap · Secret · Deployment · Service · Ingress · HPA · PodDisruptionBudget의 9개 객체를 한 사이클로 정리하고, AWS Load Balancer Controller로 ALB를 자동 프로비저닝합니다. 그 묶음을 Helm 차트로 추상화해 dev / prod에 서로 다른 values로 적용하는 방식까지 한 번에 따라갑니다.
  3. 23. DB 연동 — RDS · External Secrets 22장에서 외부 노출까지 만든 myshop-api는 데이터 저장소가 없는 빈 껍데기입니다. 이번 챕터는 그 빈 곳을 채웁니다. RDS PostgreSQL을 Terraform으로 띄우고, 마스터 비밀번호를 AWS Secrets Manager에 두고, External Secrets Operator로 그 비밀을 K8s Secret으로 자동 동기화하고, IRSA로 정적 자격 증명 없이 권한을 부여하고, PgBouncer로 커넥션 풀을 얹고, 스키마 마이그레이션을 Helm hook 기반 Job 패턴으로 자동화하는 흐름까지 한 사이클로 정리합니다.
  4. 24. CI/CD 파이프라인 23장까지 갖춰진 myshop-api는 새 버전이 들어오는 과정에 여전히 사람이 많이 개입합니다. 이번 챕터는 그 과정을 자동화합니다. GitHub Actions에서 OIDC 신뢰로 정적 키 없이 AWS ECR에 컨테이너 이미지를 푸시하고, 매니페스트 repo의 Helm values를 자동 commit 하고, 20장에서 다룬 ArgoCD가 그 변경을 감지해 클러스터로 동기화하는 한 사이클을 정리합니다. PR 승인 게이트, dev / prod 분기, Argo Rollouts 카나리 배포, 이미지 태그 immutability까지 함께 다룹니다.
  5. 25. 모니터링·알람 24장까지 갖춰진 myshop-api는 코드부터 배포까지 자동화됐지만, 그 동작을 보지 못하면 운영이 굴러가지 않습니다. 이번 챕터는 EKS 클러스터의 옵저버빌리티 스택을 본격적으로 얹습니다. kube-prometheus-stack으로 Prometheus · Grafana · Alertmanager를 한 번에 설치하고, ServiceMonitor / PrometheusRule로 myshop-api 메트릭과 4 golden signals 알람을 표준화하고, Loki로 로그를, CloudWatch Container Insights로 AWS 결합 메트릭과 장기 보관을 함께 잡고, severity · team 라우팅으로 Slack / PagerDuty의 on-call 흐름까지 한 사이클로 정리합니다.
  6. 26. 운영 체크리스트 4부 (EKS 실전)의 마지막 챕터입니다. 클러스터를 안정적으로 띄우는 일과 한 해 동안 안전하게 운영하는 일은 다른 결의 작업입니다. EKS 마이너 업그레이드 사이클, 노드 그룹 교체 패턴, RDS PITR과 분기 복구 훈련, Karpenter + Spot으로 비용을 잡는 길, kube-bench · Trivy · Kyverno로 보안 점검을 정기화하는 흐름까지 정리합니다. 마지막으로 4부 6장 (21~26장)의 회고와 1~4부 26장이 손에 무엇을 남겼는지를 한 묶음으로 짚습니다.
5부 운영 · 디버깅 · 비용 4 장

kubectl 디버깅 패턴 · 비용 최적화 · 시크릿 운영 · 업그레이드 전략을 통해 운영 중 마주치는 네 가지 주제를 다룹니다.

  1. 27. kubectl 디버깅 패턴 5부 (운영 · 디버깅 · 비용)의 첫 챕터입니다. 운영 클러스터에서 가장 자주 마주치는 사고 (CrashLoopBackOff, OOMKilled, ImagePullBackOff, Pending, Service가 안 닿음)의 진단 트리를 한 곳에 정리합니다. describe · events · logs의 세 명령에서 출발해 kubectl debug의 ephemeral container, 네트워크 진단 패턴, 19장 옵저버빌리티 스택과의 결합까지 신입 SRE의 첫 reference가 되는 매뉴얼로 묶습니다.
  2. 28. 비용 최적화 5부 두 번째 챕터입니다. 26장에서 다섯 출처로 짚었던 비용 항목을 본격적으로 다룹니다. 컴퓨트 (노드)와 부가 (LB · 스토리지 · 네트워크 · 컨트롤 플레인)의 두 축, requests의 비용 의미, VPA · Goldilocks · KRR의 right-sizing, Spot · Karpenter · Cluster Autoscaler의 결정 트리, bin packing과 descheduler, OpenCost · Kubecost의 가시화, namespace 라벨 단위 chargeback / showback, PV · 네트워크 비용까지 한 사이클로 묶고 다음 달 청구서 review 체크리스트로 마무리합니다.
  3. 29. 시크릿 운영 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의 감사 관점까지 본격적인 운영 매뉴얼로 묶습니다.
  4. 30. 업그레이드 전략 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주 체크리스트까지 한 사이클로 다룹니다.
X