본문 바로가기

DevOps/쿠버네티스(Kubernetes)

쿠버네티스 레플리카셋(Replica Set)

레플리카셋

많은 사용자를 대상으로 웹 서비스를 하려면 다수의 파드가 필요한데, 이를 하나씩 생성한다면 매우 비효율 적이다. 그래서 쿠버네티스에서는 다수의 파드를 만드는 레플리카셋 오브젝트를 제공한다.

예를들어 파드를 3개 만들겠다고 레플리카셋에 선언하면 컨트롤러 매니저와 스케줄러가 워커노드에 파드 3개를 만들도록 선언한다. 그러나 레플리카셋은 파드수를 보장하는 기능만 제공하기 때문에 롤링 업데이트 기능등이 추가된 디플로이먼트를 사용해 파드수를 관리하기를 권장한다.

 

레플리카셋 작동 과정

1. 배포된 파드의 상태 확인

 

 

2. nginx-pod를 scale 명령으로 3개로 증가

리소스를 찾을 수 없다는 에러메세지 나옴, nginx는 파드로 생성되었기 때문에 디플로이 오브젝트에 속하지 않아서 리소스를 확인할 수 없다는 에러가 발생

 

 

3. dpy-nginx 를 scale 명령으로 3개로 증가

$ kubectl scale deployment dpy-nginx --replicas=3
$ kubectl get pods

최근에 생성 된 파드는 생성시간이 짧다.

 

 

4. dpy-nginx 의 모든 파드가 정상적으로 워커노드에 적용 되었는지 확인

$ kubectl get pods -o wide

 

 

5. 생성한 디플로이먼트 삭제

$ kubectl delete deployment dpy-nginx
$ kubectl get pods

 

 

 

 

출처:

"컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 조훈,심근우,문성주 지음/길벗출판사" 책을 기반으로 실습한 내용입니다.