※ 따배쿠 6-2 ReplicaSet 정리
ReplicaSet 이란?
- ReplicationController 와 같은 역활을 하는 Controller
- seletor가 ReplicationController 보다 많음
selector:
matchLabels:
component: redis
matchExpressions:
- {key: tier, operator: In, values:[cache]} -> key가 tier이고 cache를 value로 가지고 있어야함.
- {key: environment, operator: Notln, values: [dev]} -> key가 envi이고 key 값이 dev가 있으면 안됨.
matchExpressions 연산자
- In : key와 values를 지정하여 key, value가 일치하는 Pod만 연결
- Notln : key는 일치하고 value는 일치하지 않는 Pod에 연결
- Exists : key에 맞는 label의 Pod를 연결
- DoesNotExist : key와 다른 label의 pod를 연결
ReplicaSet 기본 yaml 파일
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: rs-nginx
spec:
replicas: 3
selector:
matchLabels:
app: webui
template:
metadata:
name: nginx-pod
labels:
app: webui
spec:
containers:
- name: nginx-container
image: nginx:1.14
라벨 app=webui 로 Pod 3개가 생성됨 - replicas를 3으로 설정했기 때문
scale 명령어를 통해 Pod를 2개로 변경
ReplicaSet 의 옵션 중 --cascade 라는 옵션이 있는데 해당 옵션을 false로 주고 delete하게 되면 rs만 삭제되고 Pod 는 남아있다.
'Docker & Kube' 카테고리의 다른 글
Controller 와 ReplicationController (0) | 2024.01.17 |
---|---|
Docker 설치 (2) | 2023.11.21 |