Nodejs

 

NestJS 마이크로서비스와 Kubernetes Pod 실습 리뷰 

 

 

1️⃣ Kubernetes Pod란 무엇인가?

Pod는 Kubernetes에서 배포 가능한 가장 작은 단위입니다. 하나 이상의 컨테이너가 들어 있고, 이 컨테이너들은 같은 네트워크 네임스페이스를 공유합니다. 즉, 같은 Pod 안에서는 localhost로 서로 통신할 수 있습니다.

비유: Pod는 아파트의 한 세대라고 생각해 보세요. 한 세대 안에 여러 가족(컨테이너)이 살지만, 부엌(네트워크)과 거실(스토리지)은 함께 씁니다.

NestJS 마이크로서비스 프로젝트에서 각 서비스(API Gateway, User, Product 등)는 독립적인 Pod로 배포될 수 있고, Kubernetes의 자동 재시작, 스케일링, 서비스 디스커버리 기능을 활용할 수 있습니다.

 

 

2️⃣ 실습: Pod 생성부터 삭제까지 단계별 실행

강의에서 제공된 예제를 기반으로 pod.yml을 작성했습니다.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-app
  labels:
    app: nginx-app
    type: back-end
spec:
  containers:
    - name: nginx-container
      image: nginx
      ports:
        - containerPort: 80

Pod 생성

kubectl apply -f ./1_pod/pod.yml
pod/nginx-app created

Pod 상태 확인

kubectl get pods
NAME        READY   STATUS    RESTARTS   AGE
nginx-app   1/1     Running   0          46s

Pod 삭제

kubectl delete -f ./1_pod/pod.yml
pod "nginx-app" deleted

디렉토리 단위 적용 (실무에서 자주 사용)

kubectl apply -f ./1_pod
pod/nginx-app created
kubectl delete -f ./1_pod
pod "nginx-app" deleted

이 과정을 반복해보니 Pod의 생성 → 실행 → 삭제 라이프사이클

 

 

3️⃣ 코드와 실행 결과 해석

  • apiVersion: v1 → Kubernetes 기본 리소스 API 버전

  • kind: Pod → 정의하려는 리소스가 Pod임을 명시

  • metadata.name → Pod 이름(nginx-app)

  • metadata.labels → 라벨 지정 (서비스 디스커버리/선택자에 활용)

  • spec.containers → Pod 안에서 실행할 컨테이너 목록

    • name → 컨테이너 이름

    • image → 사용할 도커 이미지 (여기선 nginx)

    • ports.containerPort → 컨테이너 내부 포트 80 노출

이 구성은 가장 기본적인 단일 컨테이너 Pod입니다.

 

 

4️⃣ NestJS 마이크로서비스와의 연관성

NestJS 마이크로서비스에서 각 서비스는 컨테이너로 패키징되고, Pod 안에서 실행됩니다. 예를 들어:

  • user-service → user-pod

  • product-service → product-pod

  • auth-service → auth-pod

이렇게 구성하면 서비스별로 독립성을 유지하면서 Kubernetes의 스케일링, 롤링 업데이트, 장애 복구 기능을 활용할 수 있습니다.

???? 실무 팁: Pod는 일회성 객체라 직접 관리하기보다는 Deployment로 감싸 관리하는 것이 일반적입니다. Deployment를 사용하면 자동 재시작과 롤링 업데이트가 가능해집니다.

 

 

5️⃣ 요약

  • Pod는 컨테이너를 담는 작은 집이다.

  • 생성과 삭제를 반복해보니 Kubernetes의 상태 관리 방식이 이해

  • NestJS 마이크로서비스를 운영할 때 Pod 단위로 배포하고, 이후 Deployment, Service, Ingress로 확장

 

 

 

 

 

about author

PHRASE

Level 60  라이트

남자는 결혼하면, 죄가 불어난다. -탈무드

댓글 ( 0)

댓글 남기기

작성