본문 바로가기

MSA/Kubernetes

Kubernetes 개념 - Controller

Kubernetes Controller란??

-> Basic Object를 생성하고 관리하는 역할을 한다.

 

1. Deployment

2. ReplicaSet

3. StatefulSet

4. DaemonSet

5. Job

 

 

컨트롤러의 역할을 구분하면서 해당하는 컨트롤러들을 분류해보자.

 

- 역할

1. Auto-Healing

  Pod 의 문제가 생기거나 실행되는 노드에 문제가 생기면 해당 Pod를 다시 실행하는 기능 ( Replicaset, Daemonset이 여기에 해당)

2. Software Update

 Pod에 대한 버전 및 자동 업데이트를 담당하며 롤백을 할수 있다.(Deployment)

3. Auto-Scaling

 Pod에 리소스가 부족할때 추가적으로 Pod를 생성하고 분산하여 Pod를 죽지않게한다.

4. Job

 일시적인 작업을 처리하거나 단순 실행하는 코드를 작동할때 Pod를 만들고 완료된 후에는 해당 Pod를 종료한다. (Job)

 

 

 

Deployment?

- stateless 어플리케이션을 배포하는데 가장 기본이되는 Controller.

- Replicaset을 관리하게되며 배포를 위한 기능들이 제공된다.

- Deployment Controller는 배포된 인스턴스들을 모니터링하고 노드가 Down되거나 삭제되었을 경우 Deployment Controller가   

  클러스터의 다른 노드로 옮겨진다.

 

 

 

Replicaset?

- Pod 를 복제생성하고 복제된 Pod의 개수를 지속적으로 유지하는 Controller

'MSA > Kubernetes' 카테고리의 다른 글

Kubernetes 기본개념 - 구조  (0) 2021.11.18
Kubernetes 개념 - Object  (0) 2021.10.20
Service Mesh란??  (0) 2021.10.19