deployment

ReplicaSet

StatefulSet

DemonSet

Job

CronJob

워크로드 리소스는 k8s 클러스터 내에서 구동되는 애플리케이션들이다. 특히 파드를 실행하는데 서포트를 하는 애플리케이션들이다. 워크로드는 단일 컴포넌트이든, 함께 작동하는 여러 컴포넌트이든간에 항상 파드 집합내에서 실행된다. (서포트의 역할이므로)

k8s의 파드에는 라이프사이클이 있음. 예를 하나 들어보자. 파드가 클러스터에서 실행되고 나서 해당 파드가 동작중인 노드에 오류가 발생하면 해당 노드의 모든 파드가 실패한다. - 사용자는 노드가 복구되어도 Pod를 새로 생성해야 한다.

k8s는 고맙게도 이걸 일일이 사람이 관리하지 않도록 했다. 대신 사람은 파드 집합을 관리하는 워크로드 리소스를 이용하면 된다.

이러한 리소스는 desired status와 observed status가 일치하도록 올바른 수의, 올바른 유형의 파드가 실행되고 있는지 확인하는 컨트롤러를 구성한다.

쿠버네티스는 다음과 같은 여러 빌트인 워크로드 리소스를 제공한다.

  1. Deployment, ReplicaSet(과거의 레플리케이션 컨트롤러를 대체함.)
  2. StatefulSet
  3. DaemonSet
  4. Job, CronJob