나그네소
kubernetes controller ReplicaSet 2탄 본문
1. ReplicaSet
Replication Controller 와 같은 역할을 하는 컨트롤러 지만 ReplicationController 보다 풍부한
selector를 지원한다.
1-1) selector
selector:
matchLabels:
component: redis
matchExpressions:
- {key: tier, operator: ln, values: [cache]}
- {key: environment, operator: Notln, values: [dev]
1-2) 연산자 형식
matchExpressions 연산자
- ln : key 와 values를 지정하여 key, value가 일지하는 pod만 연결
- Not ln : key는 일지하고 value는 일지하지 않는 pod에 연결
- Exists : key에 맍는 label의 pod를 연결
- DoesNotExist: key와 다른 lable의 pod를 연결
: 4가지 형태의 형식 조건을 제공 하고 있다.
2. Example
2-1) ReplicationController
apiVersion: v1
...
spec:
replicas: 3
selector:
app: webui
version: "2.1"
: app:webui lable 이고 version 2.1인 pod 3개를 생성해줘 (selector 아래는 and 조건이다)
2-2) ReplicaSet
apiVersion: v1
...
spec:
replicas: 3
selector:
matchLabels:
app: webui
matchExpressions:
- {key: version, operator: In, value:["2.1","2.2"]}
: app:webui lable 이고 version (2.1 or 2.2) 인 pod 3개를 생성해줘
2-3) ReplicaSet Example(rs-nginx.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
3. 참고자료
kuber-master:/home/son_kube/tmp] k get replicaset
NAME DESIRED CURRENT READY AGE
rs-nginx 3 3 3 116s
참고] pod는 두고 controler만 삭제 하고 싶으면 --cascade=false만 삭제하고 pod는 둔다.
kuber-master:/home/son_kube/tmp] k delete rs rs-nginx --cascade=false
warning: --cascade=false is deprecated (boolean value) and can be replaced with --cascade=orphan.
replicaset.apps "rs-nginx" deleted
kuber-master:/home/son_kube/tmp] k get pods
NAME READY STATUS RESTARTS AGE
rs-nginx-22m78 1/1 Running 0 4m31s
rs-nginx-7n6ld 1/1 Running 0 4m31s
rs-nginx-m268c 1/1 Running 0 4m31s
kuber-master:/home/son_kube/tmp] k get pods --show-labels
NAME READY STATUS RESTARTS AGE LABELS
rs-nginx-22m78 1/1 Running 0 5m22s app=webui
rs-nginx-7n6ld 1/1 Running 0 5m22s app=webui
rs-nginx-m268c 1/1 Running 0 5m22s app=webui
중요 : replicaset은 select labels 기준으로 생성해주고 관리 한다.
'Cloud > Kubernetes' 카테고리의 다른 글
kubernetes controller DEPLOYMENT 3탄 (0) | 2022.11.18 |
---|---|
kubernetes controller Replicatoin 1탄 (1) | 2022.11.18 |
kubernetest Controller 종류 (0) | 2022.11.18 |
Kubernetes POD 환경 변수 설정 하기 (0) | 2022.11.18 |
kubernetes Pod Resource 조절 하기 (0) | 2022.11.17 |