[k8s] ReplicaSet이란?
[k8s] ReplicaSet이란?
[k8s] ReplicaSet
Replica pod set을 안정적으로 유지하기 위한 기능
일반적으로 서비스에 있어 pod은 하나의 서버에 해당한다. 이러한 pod은 고가용성이 보장되어야 한다. 혹시 모를 실행 오류 상황에 있어 사용자가 직접 동일한 pod을 추가적으로 일일히 정의 되는 방식도 있지만 이러한 방식은 매우 비효율적이며 마이크로 서비스 구조라면 사용하기 어려운 방식이다.
이러한 경우 레플리카셋이라는 방식을 사용하는게 일반적인데, 사용자가 지정한 갯수만큼의 copy pod을 생성하고 컨트롤러가 이러한 복제본을 감시하며 문제가 발생할시 즉시 새 pod을 생성시켜주는 역할을 하고 있다.
YAML 구성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# nginx-rs.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: frontend
labels:
app: k8s-example-app
tier: frontend
spec:
replicas: 3
selector:
matchLabels:
tier: frontend
template:
metadata:
labels:
tier: frontend
spec:
containers:
- name: nginx
image: nginx:latest
apiVersion
: 국룰 APIapps/v1
을 지정kind
: ReplicaSetmetadata
: name과 labels을 설정spec
replicas
: 복제 pod의 갯수selector
: 복제할 pod의 참조
*kind : ReplicaSet
보다는kind : Deployment
라는 더 좋은 resources가 있다..*
이렇게 생성한 replicaset을 생성하고 확인해보기
1
kubectl get rs
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.