replication controller, replicaset

2022. 8. 1. 12:42kubernetes | docker

replication controller 보다는 replicaset을 더 이용하는 추세
 
앱의 배포는 deployment를 사용
 
<replication controller와 replicaset의 차이>
집합 기반의(set-based) selector를 지원하는 차이점이 있음.
 
  • replication controller
label기반 = 레이블이 같은지 다른지 만 체크
kubectl 에서 rolling-update옵션을 사용
  • replicaset
집합기반 = in, notin, exists
kubectl에서 rolling-update옵션을 사용할 수 없음(rollingupdate를 사용하는 경우 디플로이먼트를 사용해야함)
 
 
레플리카 세트와 파드는 느슨한 connection을 이루고 있음
 
  • kubectl delete replicaset ngix-replicaset --cascade=false
replicaset만 삭제되고 pod만 남아있음...(즉, replicaset과 pod의 연결고리가 끊어졌다고 생각)
 
---> 이렇게 되면 새로운 replicaset으로 다시 연결고리를 만들 수 있음
 
 
 
======================================================================================================

==> nkpark-nginx-replicaset을 삭제

 

 

확인
======================================================================================================

 

replicaset 개수 줄이기

 

5=>3개로 줄어든 것을 확인

 

<replicaset pod에서 특정 pod를 분리 시키기>

(현재 상태)
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  namespace: nkpark
  name: nkpark-nginx-replicaset
spec:
  template:
    metadata:
      name: nginx-replicaset
      labels:
        app: nginx-replicaset
    spec:
      containers:
      - name: nginx-replicaset
        image: nginx
        ports:
        - containerPort: 80
  replicas: 3
  selector:
    matchLabels:
      app: nginx-replicaset

 

nkpark-nginx-replicaset-5g8nv를 edit 명령으로 수정 재배포 시도
 
 
label을 수정 후 저장

 

수정 후 replicaset 수가 늘어 난 것을 확인할 수 있음