DevBoi

[k8s] ReplicaSet 실습 본문

Infra/[K8S & Docker]

[k8s] ReplicaSet 실습

HiSmith 2022. 8. 28. 15:45
반응형

Pod을 단독으로 만들면, Pod에 어떤 문제가 생겼을때 자동으로 복구되지가 않는다.

이러한 pod을 정해진 수만큼 복제하고 관리하는것이 ReplicaSet이다.

 

아래와 같이 생성한다.

ReplicaSet이고, template은 삭제되어 추가될때 해당 템플릿 기준으로 생성된다는 의미이다.

또한 selector 는 label기준으로 가져오게 된다.

즉, 이렇게 작성하여, 생성하면 이렇게 된다.

또한 kubectl apply -f 로 yaml 파일 기준 생성하고,

kubectl get 하면 아래와 같다.

 

ReplicaSet은 label을 체크해서 원하는 수의 pod을 생성한다.

만약에 label에서 app-을 하여, app을 빼면, replicaset에서 app에 대한 걸 찾지못하고 0개가 되었다고 판단, 새로하나를 띄운다.

 

만약에 이렇게 label을 추가해 app을 추가하면, 다시 찾을수있게 되므로 1개를 줄인다.

kubectl label name app=echo 이런식으로 하면 라벨에 추가된다.

ReplicaSet의. 동작과정이다.

1. ReplicaSet Controller는 ReplicaSet조건을 감시하면서 현재상태와 원하는 상태가 같은지를 체크하고

원하는 상태가 되도록 pod을 생성하거나 제거한다.

2. Scheduler는 API서버를 감시하면서 할당 되지 않은 Pod이 있는지를 체크한다.

3. Scheduler는 할당 되지 않는 새로운 pod을 감지하고 적절 노드에 배치, 기존대로 동작한다.

 

해당 ReplicaSet을 이용해 스케일 아웃은 간편하다.

위에서 봤듯이 단순히 ReplicatSet의 설정 개수만 변경을 하면 끝난다.

 

반응형

'Infra > [K8S & Docker]' 카테고리의 다른 글

[Docker] 메모리 정리  (0) 2022.11.02
[k8s] Deployment 실습  (0) 2022.08.28
[k8s] Pod 생성 및 실습  (0) 2022.08.27
[k8s] 기본 명령어 공부  (0) 2022.08.27
[k8s]Mac에서 데모 준비  (0) 2022.08.27