DevOps/Kubernetes

Kubernetes - ReplicaSet

yscho03 2021. 11. 21. 21:03
728x90
반응형

ReplicaSet

정의

  • ReplicationController 와 같은 역할을 하는 컨트롤러
  • ReplicationController 보다 풍부한 selector
  • matchExpressions 연산자
    표현 설명
    In key와 values를 지정하고 key, value가 일치하는 Pod만 연결
    NotIn key는 일치하고 value는 일치하지 않는 Pods에 연결
    Exists key에 맞는 label의 pod를 연결
    DoesNotExist key와 다른 label의 pod를 연결

실행방법

생성

root@master:~# cat > 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
root@master:~# kubectl create -f rs-nginx.yaml 
replicaset.apps/rs-nginx created

조회

root@master:~# kubectl get rs -o wide
NAME       DESIRED   CURRENT   READY   AGE   CONTAINERS        IMAGES       SELECTOR
rs-nginx   3         3         3       41s   nginx-container   nginx:1.14   app=webui

삭제

root@master:~# kubectl delete rs rs-nginx
replicaset.apps "rs-nginx" deleted
root@master:~# kubectl get rs -o wide
No resources found in default namespace.
root@master:~# kubectl get pods -o wide
No resources found in default namespace.

삭제 (pod 삭제없이 ReplicaSet만 삭제)

root@master:~# kubectl delete rs rs-nginx --cascade=orphan
replicaset.apps "rs-nginx" deleted
root@master:~# kubectl get pods -o wide
NAME             READY   STATUS    RESTARTS   AGE   IP          NODE                NOMINATED NODE   READINESS GATES
rs-nginx-gq2gk   1/1     Running   0          53s   10.36.0.2   node1.example.com   <none>           <none>
rs-nginx-tmxjq   1/1     Running   0          53s   10.44.0.1   node2.example.com   <none>           <none>
rs-nginx-vm7nh   1/1     Running   0          53s   10.36.0.1   node1.example.com   <none>           <none>
root@master:~# kubectl get rs -o wide
No resources found in default namespace.
728x90
반응형