โšก

[CKA] 22. Static PODs

Date
2024/11/30
Category
Devops
Tag
Kubernetes
CKA
Scheduling
๋ชฉ์ฐจ

 Kubelet

โ€ข
kubelet์€ kube-api Server์— ์˜์กดํ•˜์—ฌ Node์— ๋กœ๋“œํ•  Pod์— ๋Œ€ํ•œ ์ง€์‹œ๋ฅผ ๋ฐ›์Œ
โ—ฆ
์ด๋Š” kube-scheduler์˜ ๊ฒฐ์ •์— ๊ทผ๊ฑฐํ•œ ๊ฒƒ์œผ๋กœ, etcd์— ์ €์žฅ๋จ
โ€ข
kubelet์€ node๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•จ
โ—ฆ
kube-apiserver, etcd, kube-scheduler ๋“ฑ ์—†์ด Pod ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ
โ—ฆ
/etc/kubernetes/manifests ์— ์ƒ์„ฑ๋œ ์ •์˜ ํŒŒ์ผ์„ kubelet์ด ์ฝ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅ
โ—ฆ
Pod์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๋ฉด Kubelet์€ Pod๋ฅผ Restart
โ—ฆ
/etc/kubernetes/manifests ์—์„œ ์ •์˜ ํŒŒ์ผ์„ ์ œ๊ฑฐํ•˜๋ฉด ํ•ด๋‹น Pod๋Š” ์ž๋™์œผ๋กœ ์‚ญ์ œ

 Static Pod

API Server์˜ ๊ฐ„์„ญ์ด๋‚˜ ๋‚˜๋จธ์ง€ Kubernetes Cluster ๊ตฌ์„ฑ์š”์†Œ์˜ ๊ฐ„์„ญ ์—†์ด Kubelet์ด ๋งŒ๋“  Pod
โ€ข
๋ฐ˜๋“œ์‹œ /etc/kubernetes/manifests ์— ์ •์˜ ํŒŒ์ผ์ด ์ž‘์„ฑ๋˜์–ด์•ผ ํ•จ
โ€ข
๋‹จ์ผ Pod๋งŒ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ReplicaSet์ด๋‚˜ Deployment๋Š” ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Œ
โ—ฆ
Kubelet์€ Pod level์—์„œ ๋™์ž‘ํ•˜๋ฉฐ Pod๋งŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ
โ€ข
kubelet level์—์„œ ์ƒ์„ฑ๋œ Static Pod๋„ kube-apiserver๊ฐ€ ์ธ์ง€ํ•จ
โ—ฆ
readonly ๊ฐ์ฒด๋กœ๋งŒ ์ฝํžˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ Pod์ฒ˜๋Ÿผ ํŽธ์ง‘์ด๋‚˜ ์‚ญ์ œ๋Š” ๋ถˆ๊ฐ€๋Šฅ
โ—ฆ
์˜ค์ง /etc/kubernetes/manifests์—์„œ๋งŒ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ ๊ฐ€๋Šฅ

 Designated Folder

โ€ข
Static Pod๋ฅผ ์ƒ์„ฑํ•˜๋Š” /etc/kubernetes/manifests ๋ผ๋Š” ์ง€์ •๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์‹ค์ œ๋กœ ์•„๋ฌด ๋””๋ ‰ํ„ฐ๋ฆฌ๋“  ๋  ์ˆ˜ ์žˆ์Œ
โ€ข
kubelet.service์˜ ์˜ต์…˜์œผ๋กœ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์„ค์ •
โ—ฆ
๊ธฐ๋ณธ๊ฐ’์œผ๋กœ /etc/kubernetes/manifests ๊ฐ€ ์„ค์ •๋จ

Changing Path

โ€ข
kubelet.service ํŒŒ์ผ์— ์ง์ ‘ path๋ฅผ ์ œ๊ณตํ•˜๋ฉด ๋‹ค๋ฅด๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅ
โ€ข
kubeconfig.yaml ํŒŒ์ผ์— staticPodPath๋ฅผ ์„ค์ •
โ€ข
kubeadm์œผ๋กœ ์…‹์—…ํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ด๋Ÿฐ ์ ‘๊ทผ๋ฒ•์„ ์‚ฌ์šฉํ•จ

Inspecting Cluster

ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‹ค์–‘ํ•œ ์…‹์—…์— ๋”ฐ๋ผ ํ•ด๋‹น ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ํด๋Ÿฌ์Šคํ„ฐ๋“  ๊ฒ€์‚ฌํ•  ๋•Œ๋Š” kubelet์˜ ์˜ต์…˜์„ ํ™•์ธํ•ด์•ผ ํ•จ
1.
kubelet.service์˜ pod-manifest-path ์˜ต์…˜ ํ™•์ธ
2.
์—†์„ ๊ฒฝ์šฐ, config option ํ™•์ธ
3.
config file์ด ์žˆ๋Š” ๊ฒฝ์šฐ staticPodPath ์˜ต์…˜ ํ™•์ธ

 Reasons for using Static Pods

โ€ข
Static Pod๋Š” controlplane์— ์˜์กดํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— controlplane ๊ตฌ์„ฑ์š”์†Œ(api-server, etcd, โ€ฆ)๋ฅผ Node์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Œ
1.
๋ชจ๋“  master node์— kubelete ์„ค์น˜
2.
controlplane components(apiserver, etcd, controller, โ€ฆ)๋ฅผ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•ด Pod ์ •์˜ ํŒŒ์ผ ์ƒ์„ฑ
3.
Definition file์„ ์ง€์ •๋œ manifest ํด๋”์— ์œ„์น˜
4.
kubelet์ด Pod๋ฅผ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ
โ†’ ๋”ฐ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ๋‚˜ configure service๋ฅผ ๋‹ค์šดํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ, Crash๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ์ž๋™์œผ๋กœ restart๋จ
โ€ข
kubeadm์œผ๋กœ ์…‹์—…๋œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” kube-system์— Pod๋กœ components๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ

 Static PODs vs DaemonSets

1.
Static Pod๋Š” kube-apiserver๋‚˜ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ฐ„์„ญ์„ ๋ฐ›์ง€ ์•Š์Œ DaemonSet์€ kube-apiserver์— ์˜ํ•ด ์ƒ์„ฑ๋จ
2.
Static Pod๋Š” controlplane components ์ž์ฒด๋ฅผ ๋ฐฐํฌ ๊ฐ€๋Šฅ
3.
๋‘˜ ๋ชจ๋‘ Kube-Scheduler์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ