Controller
서비스를 관리, 운영하는데 도움을 줌
- Auto Healing: node 위에 파드가 있는데 node 또는 pod가 장애 났을때, 다른 node로 옮겨줌
- Auto Scaling: pod의 용량이 차면 하나의 pod를 더 생성해줌.
- Software Update: pods을 업데이트를 한번에 진행 가능. 업그레이드중 에러가 발생하면 롤백도 가능
- Job일시적인 작업을 해야할때, 부분적으로 파드를 만들어서 작업 후 사라지게 함.
1. Replication Controller, ReplicaSet
Replication Controller: deprecated / ReplicaSet: Replaced
template
- label 과 selector 로 구성
- template을 update 해둔후, pod에 장애가 발생했을때, template을 가지고 pod를 새로 만듬
Replication
-Replication 수 만큼 pod가 관리 됨.
- pod는 replicas 개수 만큼 생성 시킴
Selector
- ReplicaSet 에 만 있는 기능
- Replication: 키와 라벨이 같은 파드에만 연결
- ReplicaSet: 키와 라벨이 같은 파드에만 연결 , matchExpressions 기능도 있음
( matchExpressions : 상세 설정 가능 ,키 또는 라벨 만 같아도 가능하게 하는 상세 설정 가능: in, not in )
2. Deployment
운영중인 서비스를 업데이트 후, 재 배포 해야할 때 사용
- upgrade 방식
- recreate
- Rollong Update
- Blue/Green
- Canary
Recreate
- revisionHistoryLimit: 1 -> 0인 replicaSet을 1개만 남기겠다는 의미
RollingUpdate
- minReadySeconds: 10-> 10초라는 텀을 주고 다음 replicaSet으로 넘어가겠다는 의미.
3. DaemonSet, Job, CronJob
DaemonSet
- 노드의 자원상태와 상관없이 모든 노드에 파드가 하나씩 생성됨.
- DaemonSet 으로 설치 해야하는 경우.
- Performace - Prometheus: 각노드의 성능 상태를 보기 위함
- Logging - Fluentd : 특정 노드에 장애가 발생 했을 때 보기 위한 log 수집
- Storage - GlusterFS: 노드들을 가지고 네트워크 파일 시스템을 구축할 수 있음
Job
- job으로 생성된 파드는 프로세스가 일하지 않으면 파드가 종료됨.
CronJob
- job들을 특정시간에 주기적으로 반복할 수 있도록 함
'Infra' 카테고리의 다른 글
[code형상관리] AWS codecommit VS GitLab, GitHub (0) | 2022.04.12 |
---|---|
[Tmux] 복사 붙여넣기 하기 (0) | 2022.04.06 |
[k8s] Object Namespace, ResourceQuota, LimitRange (0) | 2022.03.07 |
[k8s] Object ConfigMap, Secret (0) | 2022.03.07 |
[k8s] Object Volume (0) | 2022.03.07 |