[TIL] Kubernetes Pod 학습 정리-2025.8.27

2025. 8. 27. 16:08대외활동/인공지능사관학교

728x90
반응형
SMALL

TIL: Kubernetes Pod 학습 정리

오늘의 목표

  • 쿠버네티스의 최소 배포 단위인 Pod 개념 이해
  • Pod의 특징, 동작 방식, YAML 정의법 학습
  • kubectl 명령어로 Pod를 직접 생성/조회/삭제해 보기

 

핵심 개념 요약

Pod란?

  • 쿠버네티스의 최소 배포 단위
  • 하나 이상의 컨테이너를 묶어 관리 (대부분은 단일 컨테이너지만, 필요 시 사이드카 패턴으로 여러 개 포함 가능)
  • 공유 리소스
    • 네트워크: Pod 내 모든 컨테이너는 동일한 IP·포트 공간 공유, localhost로 통신 가능
    • 스토리지: Volume 마운트를 통해 데이터 공유
  • 고유한 IP: 클러스터 내에서 Pod마다 IP가 부여됨
  • Ephemeral(일시적 존재): 파드는 영구적이지 않고, 장애나 노드 문제 시 사라질 수 있음. 이를 보완하기 위해 Deployment 등 컨트롤러가 관리

Pod 관리 방식

  • 일반적으로 사용자가 직접 Pod를 생성하기보다는 Deployment, StatefulSet, DaemonSet 같은 컨트롤러를 통해 관리
  • 컨트롤러가 자동으로 재시작, 스케일링, 복구 등을 담당

 

Pod YAML 예제

 
apiVersion: v1
kind: Pod
metadata:
     name: nginx-pod-example
     labels: app: webserver
spec:
   containers:
       - name: nginx-container
         image: nginx:latest
         ports:
             - containerPort: 80

Pod 실습 명령어

  1. 생성
kubectl apply -f nginx-pod.yaml
 
2. 상태 확인
kubectl get pods
3. 상세 정보 확인
kubectl describe pod nginx-pod-example
 
4. 삭제
kubectl delete -f nginx-pod.yaml 
# 또는
 kubectl delete pod nginx-pod-example
 

 

 

 

버전을 높이고 다시 rollout으로 이전 버전으로 돌아가는 방법도 학습 

오늘 배운 점

  • Pod는 단순히 “컨테이너”가 아니라, 컨테이너가 묶여 실행되는 논리적 호스트 개념
  • 개별 컨테이너보다는 Pod 단위로 네트워크/IP/스토리지를 공유
  • Pod 자체는 임시적이므로, 실무에서는 반드시 Deployment 등 컨트롤러로 관리해야 안정성 확보 가능
728x90
반응형
LIST