DevOps/CICD_K8s/Lesson 03
CI/CD + Kubernetes — GitHub Actions·Pod·Deployment
60분·theory
CI/CD + Kubernetes — GitHub Actions·Pod·Deployment
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ GitHub Actions / GitLab CI 워크플로우
- ▸✅ Kubernetes Pod · Deployment · Service · Ingress
- ▸✅ Helm 패키지 매니저 + 환경별 values.yml
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
CI/CD 흐름 + GitHub Actions
CI/CD = 코드 → 운영 자동화:
1. Continuous Integration: 코드 push → 자동 빌드·테스트·린트
2. Continuous Delivery: + 자동 스테이징 배포
3. Continuous Deployment: + 자동 운영 배포
GitHub Actions (가장 흔함):
- ▸
.github/workflows/*.yml파일 - ▸push·PR·schedule·manual 트리거
- ▸public repo 무료, private 월 2000 분 무료
예시:
보안 best practice:
- ▸
secrets.GITHUB_TOKEN사용 (Personal Access Token 직접 X) - ▸OIDC 로 AWS·GCP 임시 자격증명 (장기 키 X)
- ▸
pin액션 commit hash 로 (버전 태그 X) - ▸Dependabot 으로 액션 자동 업데이트
다른 CI/CD 도구:
- ▸GitLab CI — GitLab 내장
- ▸Jenkins — 자체 호스팅, 강력하나 복잡
- ▸CircleCI — 빠른 시작
- ▸ArgoCD — GitOps (K8s 특화)
Kubernetes — Pod·Service·Deployment
한 줄: K8s = 컨테이너의 자동 운영 도구. Google 의 Borg → 2014 오픈소스 → 사실상 표준.
핵심 객체:
Deployment 예시:
롤링 업데이트 (기본 전략):
- ▸새 버전 Pod 점진 추가 → 옛 Pod 점진 제거
- ▸무중단 배포 보장
- ▸실패 시 자동 롤백 가능
필수 명령:
- ▸
kubectl apply -f deploy.yaml— 배포 - ▸
kubectl get pods,svc,deploy— 상태 - ▸
kubectl logs -f <pod>— 로그 - ▸
kubectl exec -it <pod> -- bash— 진입 - ▸
kubectl rollout undo deployment web— 롤백
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 프로젝트의 GitHub Actions 워크플로우 (lint + test + deploy) 만들어줘"
- ▸"이 앱을 Kubernetes deployment + service + ingress yaml 로 변환해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.
먼저 읽으면 좋은 개념: Docker — 컨테이너·이미지·Dockerfile