Kubernetes & CI/CD pipeline

Ryan Cho·2025년 8월 7일

Kubernetes란

쿠버네티스는 도커를 포함(확장)하며, 컨테이너 인프라의 스케일/운영/네트워크 조직을 위한 강력한 오케스트레이션 툴 이라고 한다.
이게 무슨 소리인가 좀 더 알아보자.

Docker & Kubernetes 차이

개념Docker에서의 역할·정의Kubernetes에서의 역할·정의추가 설명
Image앱 실행에 필요한 모든 것을 담은 읽기 전용 실행 템플릿동일함; 컨테이너 실행의 원천(레지스트리에서 pull)둘 다 “Dockerfile로 빌드 → 이미지 생성” 방식. 쿠버네티스는 이 이미지를 받아 컨테이너 실행에 사용
Container이미지를 실행한 인스턴스. 메모리 내에서 프로세스/파일시스템 분리 상태로 실행됨Pod 내부에서 “컨테이너”로 실행됨Docker의 컨테이너와 거의 동일. 쿠버네티스에서는 보통 Pod 내부에서 컨테이너들을 관리
Volume데이터 영구 저장을 위해 별도로 마운트. 컨테이너가 종료/삭제되어도 데이터 보존Pod에 마운트하는 영구 볼륨(PersistentVolume/PVC 등)쿠버네티스가 컨테이너보다 한 차원 더 추상화하여 볼륨을 Pod 단위로 관리
Instance (Pod)도커에는 개념적으로 없음(컨테이너=인스턴스와 비슷)여러 컨테이너를 묶은 최소 실행 단위. 쿠버네티스의 인스턴스=PodPod 내부에 하나 이상의 컨테이너가 동작. 배포·스케일링·네트워크 관리의 기본 단위
Cluster여러 대의 도커 엔진을 모아놓은 Swarm(덜 쓰임)여러 노드로 구성된 하나의 큰 관리단위. 쿠버네티스의 핵심클러스터 전체에서 Pod/Service/Ingress 등 모든 리소스가 실행·관리됨
Service & VIP여러 컨테이너 앞에 프록시, 로드밸런서 등 수동 구성(도커 컴포즈 등 추가적 셋팅)Pod 집합에 고정 VIP 할당 및 네트워크 프록시(kube-proxy) 제공DNS, VIP, 로드밸런싱 등 네트워크 추상화가 자동으로 처리됨

CI/CD Pipeline


이는 대표적인 쿠버네티스의 CI/CD 파이프라인 플로우에 해당한다.

1) 만약 pod(인스턴스) 이 죽으면?

당연 컨테이너, pod은 이미지의 인스턴스화된 실행본일 뿐, 메모리에서만 작동하고 서버가 죽으면 모든 데이터는 휘발된다.

2) 대응 방법은?

이미지로 다시 컨테이너, pod을 실행시키면 된다.

3) 만약 이미지까지 삭제할경우?

기존 소스코드가 있다면(Dockerfile, helm등을 포함) 다시 이미지 빌드, 배포 후 100%동일한 환경 구축 가능하다.

profile
From frontend to fullstack

0개의 댓글