본문 바로가기
DevOps/Kubernetes

[Kubernetes] : 레플리카셋의 동작 원리

by 오주현 2022. 3. 19.
반응형

레플리카셋의 동작 원리

레플리카셋을 생성,삭제하면 포드도 생성,삭제가 되니 연결된 것 처럼 보이지만 실제로는 연결되어 있지 않고 느슨한 연결을 유지하고 있다. 이런 느슨한 연결은 Label Selector를 통해 이루어진다.

 

라벨은 포드 등 쿠버네티스 리소스를 분류할 때 유용하게 사용할 수 있는 메타데이터이다.

라벨은 쿠버네티스 리소스의 부가적인 정보를 현할 수 있고 서로 다른 오브젝트가 서로를 찾아야 할 때 사용되기도 한다.

 

레플리카셋은 정의된 라벨을 통해 생성해야 하는 포드를 찾는다. 예를 들어 A라벨을 가지는 포드의 개수가 replicas항목에 3개로 정의되어 있는데 개수가 일치하지 않다면 포드를 정의하는 포드 템플릿 항목의 내용으로 포드를 생성한다.

 

kubectl apply -f nginx-pod-withour-rs.yaml

명령어로 라벨을 함께 출력할 수 있다.

 

자칫 잘못 생각하면 레플리카셋이 ‘포드를 생성하는 것’으로 오해할 수 있는데 단순히 개수를 유지하는 것이 아니라 현재 포드의 개수가 replicas에 설정된 값보다 적으면 레플리카셋은 포드를 더 생성해 replicas와 동일하게 개수를 유지하려고 하는 것이고, 반대로 너무 많으면 포드를 삭제해 replicas에 설정된 포드 수와 같게 맞추려고 하는 것이다.

 

즉, 레플리카셋의 목적은 replicas에 설정된 포드의 수를 유지해 바람직한 상태로 만드는 것이다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글