Controller 란?
서비스를 관리하고 운영하는데 도움을 준다.
1. Auto Healing
Node위의 파드가 다운되거나 노드가 다운되면 인지 후
파드를 다른 노드에 새로 만들어 준다.
2. Auto Scaling
파드의 리소스가 리미트 상태가 되었을때 파드를 하나 더 만들어 부하를
분산시켜 파드가 죽지 않게 해줌
3. Software Update
여러 파드들을 한번에 쉽게 업그레이드 할 수 있고
문제가 생기면 롤백을 해준다.
4. Job
일시적인 작업을 해야할 경우
컨트롤러가 필요한 순간에만 파드를 만들어 이행하고 삭제한다.
그 순간에만 자원이 사용되고 작업 후 반환되 효율적이다.
1.Template
컨트롤러와 파드는 서비스와 파드처럼 라벨과 샐렉터로 연결이 된다.
컨트롤러를 만들때 template으로 파드에 내용을 넣는데
파드가 다운되면 template으로 만들어준다.
업데이트는 이런 기능을 이용하는 것이다.
2.Replicas
Replicas 만큼 Pod의 갯수가 관리가 되며 Pod가 하나 지워질 때마다
Replicas 수 만큼 만들어준다
파드 없이 탬플릿과 replicas controller를 만들면 파드를 자동으로 replicas 수 만큼 만들어준다.
3.Selector
Replication 에서 selector을 써서 key와 라벨이 같은 파드와만 연결이 되며
matchLabels : 위와 똑같은 기능
matchExpressions : value는 다르지만 라벨의 키가 ver인 모든 파드를 선택하게 된다.
Exists 외에 DoesNotExist In NotIn 이 있다.
'kubernetes' 카테고리의 다른 글
Pod-Lifecycle (0) | 2023.08.10 |
---|---|
Namespace, ResourceQuota, LimitRange (0) | 2023.08.10 |
Service (0) | 2023.08.10 |
Volume (0) | 2023.08.10 |
Pod (0) | 2023.08.10 |