Kube Controller Manager

2023. 4. 8. 15:01Kubernetes

본 글은 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