Kubernetes Workload

ahastuart·2025년 2월 12일

Kubernetes

목록 보기
2/2

Workload

Kubernetes Cluster에서 실행되는 애플리케이션

  • 여러 개의 Pod 포함, 배포 방식, 업데이트, 확장성 등 관리하도록 다양한 리소스 유형을 제공

Pod

Kubernetes에서 가장 기본적인 실행 단위 = 하나 이상의 컨테이너

  • Workload라고 불리기도 한다.
  • 같은 Pod안의 컨테이너는 네트워크(IP), 스토리지(volume)을 공유
  • 직접 사용되기 보다는 컨트롤러 (Deployment, StatefulSet 등)를 통해 관리됨

Deployment

무중단 배포(Rolling Update), 자동복구 (Self-healing) 지원 = 무상태 (Stateless) 애플리케이션 배포에 적합

  • ReplicasSet을 자동으로 관리 -> 지정된 개수의 Pod 유지
  • 업데이트 시, 새로운 Pod를 만들고 점진적으로 변경 (Rolling Update)
  • Pod 장애 발생 시, 자동으로 새로운 Pod 생성

StatefulSet

상태 저장 (Stateful) 애플리케이션 배포에 적합

  • 각 Pod에 고유한 네트워크 IP(호스트명)를 유지
  • Pod 종료 후에도 데이터 유지

DaemonSet

모든 노드에서 1개의 Pod를 실행

  • 노드가 추가되거나 삭제되면 자동으로 Pod 조정
  • 특정 노드 그룹에서만 실행하도록 설정 가능
  • ex) 로그 수집기 (Promtail..), 모니터링 에이전트 (Prometheus..)

Job

한 번 실행되고 종료됨

  • 성공적으로 완료될 때까지 실행
  • ex) data 마이그레이션, 배치, 백업 작업

CronJob

Job을 일정 주기로 실행

  • ex) 정기적인 데이터 백업, 로그 정리, 일정한 시간마다 실행되는 작업

0개의 댓글