Search

[CKA] 5. Kube Controller Manager

Date
2024/11/11
Category
Devops
Tag
Kubernetes
CKA
Core Concept
๋ชฉ์ฐจ

ย Kube Controller Manager

์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋ฉฐ, ์ƒํ™ฉ์„ ์žฌ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•œ๋‹ค (Watch Status, Remediate Situation)
โ€ข
๋‹ค์–‘ํ•œ ์ปจํŠธ๋กค๋Ÿฌ๋“ค์€ Kube-Controller-Manager๋ผ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋กœ ํŒจํ‚ค์ง€ํ™”๋จ
โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ปจํŠธ๋กค๋Ÿฌ ๋งค๋‹ˆ์ €๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๋‹ค๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ๋“ค์ด ์„ค์น˜๋จ

ย Controller ํ™•์ธ

โ€ข
์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•, ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€ ์˜ต์…˜์„ ํ™•์ธํ•˜๋ฉด ๋จ

ย Controller Manager Server ์˜ต์…˜ ํ™•์ธ

โ€ข
ํด๋Ÿฌ์Šคํ„ฐ ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค๋ฆ„

Kubeadm setup

โ€ข
kube controller manager๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์˜ kube-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— Pod๋กœ ๋ฐฐํฌ๋จ
โ€ข
Pod Definition File์—์„œ ์˜ต์…˜ ํ™•์ธ ๊ฐ€๋Šฅ
โ—ฆ
/etc/kubernetes/manifests/kube-controller-manager.yaml ๋กœ ์กด์žฌํ•จ

Non-kubeadm Setup

โ€ข
/etc/systemd/system/kube-controller-manager.service ์—์„œ ์˜ต์…˜ ๊ฒ€์‚ฌ ๊ฐ€๋Šฅ
ps -aux | grep kube-controller-manager ๋ฅผ ํ†ตํ•ด ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ๋ฐ ์˜ต์…˜ ํ™•์ธ ๊ฐ€๋Šฅ

ย Controller

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋Š” ์–ด๋–ค intelligence ๊ตฌ์กฐ๋ผ๋„ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋œ๋‹ค

Node-Controller

kube-apiserver๋ฅผ ํ†ตํ•ด Node์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ณ„์† ์‹คํ–‰๋˜๋„๋ก ํ•จ
โ€ข
Node์˜ ์ƒํƒœ๋ฅผ 5์ดˆ๋งˆ๋‹ค ํ™•์ธํ•จ
โ—ฆ
Node Monitor Period = 5s
โ€ข
Node์—์„œ heartbeat ์ˆ˜์‹ ์„ ์ค‘๋‹จํ•˜๋ฉด node์˜ ์ƒํƒœ๋Š” unreachable๋กœ ํ‘œ์‹œ๋จ
โ—ฆ
unreachable ์ƒํƒœ๋กœ ํ‘œ์‹œํ•  ๋•Œ๊นŒ์ง€ 40์ดˆ์˜ ์œ ์˜ˆ ์‹œ๊ฐ„์ด ์žˆ์Œ
โ—ฆ
Node Monitor Grace Period = 40s
โ€ข
Unreachable์ด ๋œ ์ดํ›„ ๋…ธ๋“œ๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ธฐ๊นŒ์ง€ 5๋ถ„์ด ์†Œ์š”๋จ
โ—ฆ
5๋ถ„์ด ์ง€๋‚˜๋„ ๋…ธ๋“œ๊ฐ€ ๋ณต๊ตฌ๋˜์ง€ ์•Š์œผ๋ฉด, ํ•ด๋‹น ๋…ธ๋“œ์— ํ• ๋‹น๋œ POD๋“ค์„ ์ œ๊ฑฐ
โ—ฆ
์ œ๊ฑฐ๋œ Pod๊ฐ€ replicaset์˜ ์ผ๋ถ€์ธ ๊ฒฝ์šฐ healthy node์— ๋‹ค์‹œ ๋ฐฐํฌ(provision)ํ•จ
โ—ฆ
POD Eviction Timeout = 5m

Replication-controller

Replicaset์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์›ํ•˜๋Š” Pod์˜ ์ˆ˜๋ฅผ ๋ณด์žฅํ•จ
Node-Controller ์ฒ˜๋Ÿผ Pod์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  Pod์˜ ์ƒํƒœ๊ฐ€ ์ •์ƒ์ ์ด์ง€ ์•Š๋‹ค๋ฉด Pod๋ฅผ ์žฌ์‹คํ–‰ํ•˜์—ฌ Pod์˜ ์ˆ˜๋ฅผ ๋ณด์žฅํ•จ