Kubernetes에서 deploy, rs, ds, sts는 각각 Deployment, ReplicaSet, DaemonSet, StatefulSet을 나타내는 약어입니다. 이들은 다양한 애플리케이션 워크로드를 관리하기 위해 사용되는 주요 리소스 유형으로, 각 리소스는 고유한 목적과 기능을 가지고 있습니다.

1. Deployment (deploy)

설명:

  • Deployment는 애플리케이션을 배포하고 관리하는 데 가장 일반적으로 사용되는 리소스입니다. 주로 무상태 애플리케이션(stateless applications)에 적합하며, 원하는 수의 복제본을 유지하고 트래픽을 분산할 수 있습니다.

주요 기능:

  • 스케일링: 원하는 수만큼의 Pod를 손쉽게 늘리거나 줄일 수 있습니다.
  • 롤링 업데이트 및 롤백: 중단 없이 애플리케이션을 업데이트하고, 문제가 발생하면 롤백할 수 있습니다.
  • 자동 복구: Pod에 장애가 발생하면 자동으로 재시작되거나 대체됩니다.

사용 사례:

  • 웹 서버, API 서버 같은 무상태 애플리케이션에 적합합니다.

2. ReplicaSet (rs)

설명:

  • ReplicaSet은 특정 수의 Pod가 항상 실행되도록 보장하는 리소스입니다. Deployment가 ReplicaSet을 관리하고 생성하여 애플리케이션을 배포하는데, ReplicaSet은 Pod의 정확한 복제본 수를 유지하는 역할을 합니다. 일반적으로 직접 사용하는 경우는 드물며, Deployment와 함께 사용됩니다.

주요 기능:

  • 지속적인 복제본 유지: 정의된 수의 Pod가 실행되도록 보장하여, Pod가 죽으면 자동으로 새로운 Pod를 생성합니다.

사용 사례:

  • Deployment와 함께 사용되어 무상태 애플리케이션의 안정적인 복제본 수를 유지합니다.

3. DaemonSet (ds)

설명:

  • DaemonSet은 클러스터 내의 각 노드마다 하나의 Pod가 실행되도록 보장하는 리소스입니다. 각 노드에 필요한 시스템 서비스나 에이전트를 배포할 때 주로 사용됩니다.

주요 기능:

  • 모든 노드에 단일 Pod: 클러스터 내 모든 노드에 특정 Pod를 실행하도록 하며, 새 노드가 추가되면 자동으로 해당 노드에 Pod를 생성합니다.
  • 자동 업데이트 및 유지: 노드 수가 변경되더라도 자동으로 관리하여 모든 노드에 Pod가 실행되도록 합니다.

사용 사례:

  • 로그 수집기, 모니터링 에이전트와 같은 시스템 에이전트에 적합합니다.

4. StatefulSet (sts)

설명:

  • StatefulSet은 각 Pod가 고유한 ID와 영구 스토리지를 가지며, 정해진 순서대로 생성 및 종료되는 등 상태가 필요한 애플리케이션을 배포하고 관리하기 위해 사용됩니다.

주요 기능:

  • 고유한 네트워크 ID: 각 Pod가 고유한 네트워크 ID를 가지고 생성 순서에 따라 정렬됩니다.
  • 고정된 스토리지 제공: 각 Pod는 고유의 영구 스토리지 볼륨을 가지며, Pod가 재시작해도 데이터가 유지됩니다.
  • 순차적 배포 및 종료: 안정성을 위해 Pod를 순차적으로 생성 및 종료합니다.

사용 사례:

  • 데이터베이스, 분산 시스템 등 상태 저장 애플리케이션에 적합합니다.

요약

  • Deployment (deploy): 무상태 애플리케이션 배포 및 관리, 롤링 업데이트, 롤백 가능.
  • ReplicaSet (rs): Pod 복제본 수 유지, Deployment가 생성 및 관리.
  • DaemonSet (ds): 각 노드마다 하나의 Pod 실행, 로그 수집 및 모니터링 같은 시스템 서비스에 적합.
  • StatefulSet (sts): 고유 ID와 스토리지가 필요한 상태 저장 애플리케이션에 적합하며, 순차적 배포 및 종료가 필요함.

각 리소스는 애플리케이션의 특성과 필요에 맞추어 선택적으로 사용됩니다.

'IT > kubernetes[k8s]' 카테고리의 다른 글

쿠버네티스 서비스(Service)  (0) 2024.11.13
쿠버네티스 - 노드  (1) 2024.11.08
클러스터의 개념  (0) 2024.11.07
쿠버네티스 구성 요소  (1) 2024.10.21
Kubernetes 소개  (8) 2024.10.21

+ Recent posts