Controller
Controller의 기능
- Auto Healing
- Pod가 죽었을 때, 이 Pod를 다른 Node위에 새로 만들어준다.
- Auto Scaling
- Pod의 리소스 상태가 limit가 되었을 때, Controller가 Pod를 하나 더 만들어서 리소스의 부하를 낮춰준다.
- Software Update
- 여러 Pod에 대한 버전을 업데이트 하는 경우, 한번에 업데이트 가능
- 업데이트 중 문제가 생기면 롤백도 가능
- Job
- 일시적인 작업을 해야하는 경우 그 순간에만 Pod(Job)을 만들어서 작업을 하고 삭제를한다.
- 그 순간에만 일시적으로 리소스를 늘렸다가 삭제하기 때문에 효율적인 리소스 활용 가능
ReplicationController
ReplicationController는 Deprecated 되었으며, ReplicaSet으로 대체되는 추세이다. 기존의 리소스가 ReplicationController로 되어있다면 ReplicaSet으로 바꿔주자.
$ kubectl delete rc {rc-name} --cascade=false
cascade 옵션을 주면 기존 Rc에 연결된 파드들은 삭제되지 않는다. 이후, 레플리카 셋에 대한 매니페스트 파일을 만들어 기존의 리소스를 연결하면된다.
ReplicaSet
Selector는 ReplicaSet에서만 사용 가능하다
- ReplicaSet에 apiVersion은 api 그룹에 속한다
- apiVersion: apps/v1 이런식으로 써야함
- 오브젝트 별 apiVersion 종류는 여기에 정리되어있다
- ReplicaSet는 selector에서 다양한 표현식을 추가 가능하다
- In, NotIn, Exists, DoesNotExist
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes Study - 11] Pod - Qos(Quality of Service) Class (0) | 2021.02.22 |
---|---|
[Kubernetes Study - 10] Pod - readinessProbe, livenessProbe (0) | 2021.02.22 |
[Kubernetes] 오브젝트 종류에 따른 apiVersion 정리 (0) | 2021.02.19 |
[Kubernetes Study - 08] Namespace, ResourceQuota, LimitRange (0) | 2021.02.12 |
[Kubernetes Study - 07] ConfigMap, Secret (0) | 2021.02.10 |