Docker & Kube

Controller - ReplicaSet

박다큐 2024. 1. 17. 19:00

※ 따배쿠 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