JavaPark
01 / 18

쿠버네티스, 꼭 써야 할까요?

새벽 3시, 서비스가 죽었습니다. 누가 깨어 있나요?

쿠버네티스 실전 가이드 · AI JAVAPARK

02 / 18

컨테이너는 띄웠다. 그런데…

  • 하나 죽으면 — 누가 다시 띄우죠?
  • 트래픽이 2배 — 누가 늘리죠?
  • 배포 중 장애 — 누가 되돌리죠?

컨테이너 10개까지는 손으로. 그다음은 지옥입니다.

03 / 18

쿠버네티스는 한마디로

원하는 상태를 적으면, 나머지는 알아서 맞춰주는 기술.

당신은 "무엇을" 선언하고, 쿠버네티스가 "어떻게" 를 책임집니다.

04 / 18

두뇌가 결정하고, 일꾼이 실행한다

쿠버네티스 아키텍처

05 / 18

결국 5개만 알면 시작한다

  • Pod — 컨테이너가 사는 최소 단위
  • Deployment — 몇 개를, 어떻게 굴릴지
  • Service — 흩어진 Pod의 고정 주소
  • ConfigMap · Secret — 설정·비밀 주입
  • Ingress — 바깥세상으로 난 문
06 / 18

배포? apply 한 줄이면 끝

kubectl apply -f deploy.yaml

원하는 상태를 파일에 적고, 한 번 던진다.

조회 · 배포 · 롤아웃 · 디버깅 · 컨텍스트 — 손에 익을 5갈래.

07 / 18

Pod가 죽었다 — 30초 만에 원인 찾기

kubectl describe pod <name>    # ① 무슨 일이?
kubectl logs -f <name>         # ② 왜?
kubectl exec -it <name> -- sh  # ③ 직접 확인

describe → logs → exec. 이 순서가 90%를 잡는다.

08 / 18

더 빠르게 보고 싶다면 — k9s

명령을 일일이 치는 대신, 터미널 대시보드로 클러스터를 돌아다닌다.

  • 정확한 조작·자동화 → kubectl
  • 실시간 탐색·장애 대응 → k9s
09 / 18

"환경마다 YAML 복붙"을 멈춰라

dev · staging · prod… 같은 YAML을 세 번 고치고 있다면, 이미 틀렸습니다.

해법은 두 갈래 — 템플릿이냐, 패치냐.

10 / 18

템플릿이냐, 패치냐

  • Helm — 템플릿 + values로 패키지처럼 설치 helm install web ./chart -f values-prod.yaml
  • Kustomize — 순수 YAML에 오버레이로 덧대기 (kubectl 내장) kubectl apply -k overlays/prod

재사용·배포는 Helm, 단순·투명은 Kustomize.

11 / 18

클러스터를 손으로 만지지 마라

사람이 직접 kubectl apply? — 누가, 언제, 무엇을 바꿨는지 아무도 모릅니다.

해법: Git에 커밋하라. 나머지는 ArgoCD가 맞춘다.

12 / 18

GitOps — Git이 곧 클러스터

GitOps 흐름

13 / 18

바깥에 안전하게 — Ingress + 자동 HTTPS

트래픽 흐름

cert-manager 한 번 설정 = 인증서 갱신을 영원히 잊어도 됨.

14 / 18

Ingress Controller, 무엇으로?

  • nginx-ingress — 검증된 안정성, 어노테이션 중심
  • Traefik — 대시보드·동적 라우팅, CRD 기반

교체도 두렵지 않다 — 병렬 운영으로 무중단 전환.

15 / 18

결국, 이 한 바퀴다

쿠버네티스 운영 루프

16 / 18

가져가는 한 장 — 치트시트

kubectl get pods -o wide          # 본다
kubectl apply -f app.yaml         # 배포한다
kubectl rollout undo deploy/web   # 되돌린다
kubectl describe / logs / exec    # 디버깅 3종
kubectl apply -k overlays/prod    # Kustomize
helm install web ./chart -f ...   # Helm

도구 지도 — kubectl·k9s(운영) · Helm·Kustomize(구성) · ArgoCD(배포) · Ingress·cert-manager(노출)

17 / 18

한 문장만 가져가세요

쿠버네티스는 "원하는 상태를 적고, 나머지는 맡기는" 기술이다.

18 / 18

더 깊이 — 시리즈로

각 주제는 명령어까지 「쿠버네티스 실전 가이드」 시리즈에서 이어집니다.

이해 · kubectl · k9s · Helm · Kustomize · ArgoCD · Ingress/cert-manager · Traefik

blog.javapark.kr

감사합니다 — 자바파커