๋ชฉ์ฐจ
ย 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์ ์๋ฅผ ๋ณด์ฅํจ