2023. 4. 8. 15:01ㆍKubernetes
본 글은 Udemy 의 CKA 강의를 정리한 글입니다.
Controller 는 모니터링 및 새 선박이 도착하거나, 떠나거나, 없애야할때 조치를 취한다.
선박의 컨테이너나 장애가난 선박에 컨테이너를 관리한다.
1. Watch Status (선박의 상태를 지켜본다.)
2. Remediate Situation (사태를 수습한다.)
node controller 는 노드의 상태를 모니터링하고 응용프로그램이 계속 실행되도록 필요한 행동을 한다.
5초마다 node 의 상태를 확인한다.
노드의 heartbeat이 멈추면 40초 후에야 신호가 잡힌다.
수신 불가로 표시되면 , 다시 뜰때까지 5분이 걸린다.
만약에 안뜨면 , 할당된 pod들을 제거하고,
(pod가 replica set 의 일부일때에 한해) 정상적인 노드로 pod를 제공한다.
Node Monitor Period =5s
Node Monitor Grace Period=40s
POD Evikction Timeout =5m
Replication Controller 는 replicaset 의 상태를 모니터링하고, 요구된 pod 수를 보장한다.
pod 가 죽으면 새 pod를 만든다.
쿠버네티스에서 이용가능한 controller 가 많다.
CronJob
Service-Account-controller
Deployment Controller -> argoCd 관련된 정보는 여기서 수정하면될듯!
Namespace-controller
Job controller
Stateful set
PV-Binder-Controller
Endpoint-Controller
PV-protection-controller
Replica Set
Replication Controller
이 모든 Contreoller 들은 Kube-Controller-Manager 로 패키징되어 하나의 프로세스안에 있다.
Controller Manager 설치법
wget https://storage.gooleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-controller-manager
# 아래 옵션들을 내가 설정할 수있다.
# 몇초 주기로 노드를 모니터할지
--Node Monitor Period =5s
# 얼마동안 응답이 없어야 재기동할지
--Node Monitor Grace Period=40s
# timeout을 몇초로 둘지
--POD Eviction Timeout =5m
#kube admin tool 로 설치했을때 아래를 치면
kubectl get pods -n kube-system
"kube-controller-manager-master" 이름의 pod가 나온다.
#위치는
cat /etc/kubernetes/manifests/kube-controller-manager.yaml
#kube admin 이 아니면,
cat /etc/systemd/system/kube-controller-manager.service
# 돌고있는 process
ps -aux | grep kube-controller-manager
'Kubernetes' 카테고리의 다른 글
Kubelet (0) | 2023.04.08 |
---|---|
Kube-Scheduler (0) | 2023.04.08 |
[Watch API] kube-scheduler 가 API server를 모니터링하는 방식 (0) | 2023.04.08 |
Kube API server (0) | 2023.04.08 |
Docker 와 Container-D 이야기 (0) | 2023.04.07 |