Cloud/Kubernetes
Kubernetes Controller
yellowmarine
2020. 5. 11. 13:28
Controller
Replication Controller
- selector
- label 기반으로 RC가 관리한 pod를 가지고 오는데 사용한다
- Replicas num
- 항시 pod의 갯수를 유지한다
- 많으면 삭제, 적으면 추가
- Pod template
- pod를 추가할때 어떠한 pod를 만들지에 대한 정보 기술
ReplicaSet
- RC의 상위 버전
- Equality 기반 x
- set 기반
Deployment
RC,RS의 상위 버전의 추상화 개념
Blue/Green
- 한번에 모든 서비스를 새로운 버전으로 바꾼다
Rolling
- pod를 하나씩 지워가면서 바꿈
위의 배포 방법은 rollback 시 불안정한 부분들이 많이 발생
- ex) 클라이언트에서 실행되기 떄문에 연결이 끊어질 경우 배포작업이 끊김
수동 컨트롤이 필요한 부분을 자동화 하는 개념
롤백 RC와 새로운 RC의 포괄적인 관리
DaemonSet
- 클러스터 전체에 포드를 띄울때 사용하는 컨트롤러
- 보통적으로 노드에 대한 상태체크를 위한 로그수집기, 모니터링등에 사용
- taint / toleration
- 제한을 걸기 위해 taint 사용
- 이를 넘어서기 위해 toleration
Job
- 배치시스템 혹은 한번의 실행만이 필요할때 사용
- Job 의 종료는 곧 pod 의 제거
- 수행을 위해 command 를 입력
- Job의 비정상적인 종료는 resume이 아닌 restart 혹은 종료
- Job은 parallelism 하게 여러 pod에서 실행가능 그리고 분리해서 여러번 수행도 가능
Cron Job
- 주기적으로 실행해야하는 배치시스템의 경우 사용
- Schedule에 특정 시간과 주기를 입력하여 조건을 걸어주도록한다