Pod을 단독으로 만들면 Pod에 어떤 문제(서버가 죽어서 Pod이 사라진다던가 하는)가 생겼을 때 자동으로 복구되지 않는다. 이러한 Pod을 정해진 수만큼 복제하고 관리하는 것이 ReplicaSet이다.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: echo-rs
spec:
replicas: 1
selector:
matchLabels:
app: echo
tier: app
template:
metadata:
labels:
app: echo
tier: app
spec:
containers:
- name: echo
image: ghcr.io/subicura/echo:v1

ReplicaSet은 label을 체크해서 원한수는 수의 Pod이 없으면 새로운 Pod을 생성한다.
| 정의 | 설명 |
|---|---|
spec.selector |
label 체크 조건 |
spec.replicas |
원하는 Pod의 개수 |
spec.template |
생성할 Pod의 명세 |

ReplicaSet Controller는 ReplicaSet조건을 감시하면서 현재 상태와 원하는 상태가 다른 것을 체크ReplicaSet Controller가 원하는 상태가 되도록 Pod을 생성하거나 제거Scheduler는 API서버를 감시하면서 할당되지 않은 Pod이 있는지 체크Scheduler는 할당되지 않은 새로운 Pod을 감지하고 적절한 노드에 배치