로컬에서는 잘 되는데 ☘️

Kubernetes - Controller

by youngjun._.

Kubernetes의 Controller는 서비스를 관리하고 운영하는데 큰 도움을 준다.

 

기능은 총 4가지!

  • Auto Healing
  • Software Update
  • Auto Scaling
  • Job

1. Auto Healing

Node위에 Pod가 있는 경우

- 갑자기 Pod가 다운 됨

- Pod가 스케줄링 되어있는 Node가 다운

pod에서 돌아가던 서비스가 장애가 발생!

 

컨트롤러가 즉시 인지하고 Pod를 다른 노드에 새로 생성해준다!

Auto Healing

2. Auto Scaling

Pod의 resource가 limit 상태까지 사용되면

컨트롤러가 상태를 파악하고 Pod를 하나 더 만들어 부하를 분산시킴!

(Pod가 죽지 않도록 해줌)

이 서비스는 성능에 대한 장애없이 안정적인 서비스 운영이 됨!

 

3. Software Update

여러 Pod에 대한 버전을 Upgrade해야할 경우

컨트롤러를 통해 한번에 쉽게 Upgrade 가능!

Upgrade 도중 문제가 생기면 Rollback을 할 수 있는 기능도 제공

4. Job

일시적인 작업을 해야할 경우

- 컨트롤러가 필요한 순간에만 Pod를 생성해

해당 작업을 수행하고 삭제함!

이렇게 수행하면 잠깐 동안 자원이 사용되고 작업 후에 반환되기 때문에

효율적인 자원 활용이 가능해짐!

 

쿠버네티스의 여러 Object들이 이러한 컨트롤러의 역할을 지원해줌

 

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

Controller - Deployment의 네 가지 방식  (0) 2020.04.08
ReplicaSet의 3가지 기능  (0) 2020.04.07
Kubernetes - Namespace, ResourceQuota, LimitRange란?  (0) 2020.03.13
Kubernetes - ConfigMap, Secret  (0) 2020.03.12
Kubernetes - Volume  (0) 2020.03.12

블로그의 정보

개발하는만두

youngjun._.

활동하기