쿠버네티스에서 ReplicaSet은 지정된 수의 Pod 복제본이 항상 실행되도록 보장하는 역할을 합니다. 이는 ReplicationController와 비슷하지만, 더욱 유연한 Pod 선택 기능을 제공합니다.
다음은 myapp-rs-exp
라는 이름의 ReplicaSet를 생성하는 myapp-rs-exp.yaml
파일입니다. 이 ReplicaSet는 app
레이블의 값이 myapp-rs-exp
이며, env
레이블이 존재하는 Pod를 3개 유지하도록 설정되어 있습니다.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: myapp-rs-exp
spec:
replicas: 3
selector:
matchExpressions:
- key: app
operator: In
values:
- myapp-rs-exp
- key: env
operator: Exists
template:
metadata:
labels:
app: myapp-rs-exp
env: dev
spec:
containers:
- name: myapp
image: ghcr.io/c1t1d0s7/go-myweb:alpine
ports:
- containerPort: 8080
다음은 myapp-rs
라는 이름의 ReplicaSet를 생성하는 myapp-rs.yaml
파일입니다. 이 ReplicaSet는 app
레이블의 값이 myapp-rs
인 Pod를 3개 유지하도록 설정되어 있습니다.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: myapp-rs
spec:
replicas: 3
selector:
matchLabels:
app: myapp-rs
template:
metadata:
labels:
app: myapp-rs
spec:
containers:
- name: myapp
image: ghcr.io/c1t1d0s7/go-myweb:alpine
ports:
- containerPort: 8080
ReplicaSet를 사용하면 애플리케이션의 가용성을 높이고, Pod의 수를 쉽게 조절할 수 있습니다. 또한, 레이블 선택자를 사용하여 관리할 Pod를 더욱 유연하게 선택할 수 있습니다.
ReplicaSet를 생성하려면 다음 명령어를 사용합니다:
kubectl create -f myapp-rs.yaml
ReplicaSet의 상태를 확인하려면 다음 명령어를 사용합니다:
kubectl get rs
ReplicaSet에 의해 관리되는 Pod의 상태를 확인하려면 다음 명령어를 사용합니다:
kubectl get pods -l app=myapp-rs
ReplicaSet의 로그를 확인하려면 다음 명령어를 사용합니다:
kubectl logs rs/myapp-rs
마지막으로, ReplicaSet를 삭제하려면 다음 명령어를 사용합니다:
kubectl delete rs myapp-rs
이렇게 ReplicaSet를 사용하면 애플리케이션의 가용성을 높이고, Pod의 수를 쉽게 조절할 수 있습니다. 또한, 레이블 선택자를 사용하여 관리할 Pod를 더욱 유연하게 선택할 수 있습니다.
'Infra > Kubernetes' 카테고리의 다른 글
쿠버네티스 02-04 Controller_Job (0) | 2023.09.06 |
---|---|
쿠버네티스 02-03 Controller_Daemonset (0) | 2023.09.06 |
쿠버네티스 02-01 Controller_Replication (0) | 2023.09.06 |
쿠버네티스 01-05 Pod_Lifecycle (0) | 2023.09.06 |
쿠버네티스 01-04 Pod_Namespace (0) | 2023.09.06 |