[K8s] ๐Ÿ“ฆ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Node๋ž€? ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•„๋‹ˆ๋ผ Pod๋ฅผ ์‹คํ–‰ํ•œ๋‹ค

๋น„์ „ยท2025๋…„ 4์›” 20์ผ

K8s

๋ชฉ๋ก ๋ณด๊ธฐ
3/3
post-thumbnail

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ์ž์ฃผ ๋“ฃ๋Š” ๋ง์ด ์žˆ์Šต๋‹ˆ๋‹ค.

"์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•„๋‹ˆ๋ผ Pod๋ฅผ ์‹คํ–‰ํ•œ๋‹ค."

์ด๊ฒŒ ๋ฌด์Šจ ๋œป์ผ๊นŒ์š”? ๊ทธ๋ฆฌ๊ณ  ๊ทธ Pod๋Š” ๋ˆ„๊ฐ€ ์‹คํ–‰ํ• ๊นŒ์š”? ๋ฐ”๋กœ ์˜ค๋Š˜ ๋‹ค๋ฃจ์–ด ๋ณผ Node์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๐Ÿงฑ Node๋ž€?

Node๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ์‹ค์ œ๋กœ Pod๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฌผ๋ฆฌ ๋˜๋Š” ๊ฐ€์ƒ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.
์‰ฝ๊ฒŒ ๋งํ•ด, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ์ผ๊พผ ์—ญํ• ์„ ํ•˜๋Š” ์„œ๋ฒ„๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Node๋Š” ํฌ๊ฒŒ ๋‘ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
| ์ข…๋ฅ˜ | ์„ค๋ช… |
|------|------|
| Master Node (๋˜๋Š” Control Plane) | ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด๋ฅผ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ•  |
| Worker Node | ์‹ค์ œ๋กœ Pod๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ณณ (์šฐ๋ฆฌ๊ฐ€ ๋ณดํ†ต ๋งํ•˜๋Š” Node๋Š” ์ด์ชฝ!) |

๐Ÿงฉ ๊ทธ๋Ÿผ Node๋Š” ๋ฌด์—‡์„ ์‹คํ–‰ํ• ๊นŒ

๋งŽ์€ ๋ถ„๋“ค์ด โ€œNode๊ฐ€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ฒ ์ง€โ€๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ,
์ •ํ™•ํžˆ๋Š” Node๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•„๋‹Œ โ€˜Podโ€™๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Pod๋Š” ์ปจํ…Œ์ด๋„ˆ๋ณด๋‹ค ํ•œ ๋‹จ๊ณ„ ์ƒ์œ„ ๊ฐœ๋…์œผ๋กœ, ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ทธ์— ํ•„์š”ํ•œ ์„ค์ •(๋„คํŠธ์›Œํฌ, ๋ณผ๋ฅจ ๋“ฑ) ์„ ํฌํ•จํ•˜๋Š” ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.

๐ŸŽ› ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ vs ์›Œ์ปค ๋…ธ๋“œ, ๋ฌด์Šจ ์ฐจ์ด์•ผ?

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋‘ ์šฉ์–ด,
๋ฐ”๋กœ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ(Master Node) ์™€ ์›Œ์ปค ๋…ธ๋“œ(Worker Node)์ž…๋‹ˆ๋‹ค.

์ฒ˜์Œ์—” โ€œ๋‘˜ ๋‹ค ์„œ๋ฒ„ ์•„๋ƒ?โ€ ์‹ถ์ง€๋งŒ,
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋ ค๋ฉด ์ด ๋‘˜์˜ ์—ญํ•  ์ฐจ์ด๋ฅผ ์ •ํ™•ํžˆ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ  ๋น„์œ  : ๊ฑด์„ค ํ˜„์žฅ์ด๋ผ๋ฉด?

  • ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ: ์„ค๊ณ„๋„ ์งœ๊ณ , ์ž‘์—… ์ง€์‹œ ๋‚ด๋ฆฌ๋Š” ํ˜„์žฅ ์†Œ์žฅ
  • ์›Œ์ปค ๋…ธ๋“œ: ์ง์ ‘ ๋ฒฝ๋Œ ์Œ“๊ณ , ์ฒ ๊ทผ ์กฐ๋ฆฝํ•˜๋Š” ์ž‘์—…์ž
    ์ฆ‰, ๋งˆ์Šคํ„ฐ๋Š” โ€œ์–ด๋””์— ๋ญ˜ ๋ฐฐํฌํ• ์ง€ ๊ฒฐ์ •โ€ํ•˜๊ณ ,
    ์›Œ์ปค๋Š” โ€œ๊ทธ๊ฑธ ์‹ค์ œ๋กœ ์‹คํ–‰โ€ํ•˜๋Š” ์—ญํ• ์„ ๋งก์Šต๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋ž€?

๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ค‘์ถ”,
๋ชจ๋“  ์ปจํŠธ๋กค๊ณผ ๊ด€๋ฆฌ ์ž‘์—…์ด ์ด๊ณณ์—์„œ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ์„ค๋ช…
kube-apiserver์‚ฌ์šฉ์ž์™€ ํ†ต์‹ ํ•˜๋Š” ์ž…๊ตฌ, ๋ชจ๋“  ๋ช…๋ น์€ ์—ฌ๊ธฐ๋กœ ๋“ค์–ด์˜ด
etcdํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” Key-Value DB
scheduler์–ด๋–ค ๋…ธ๋“œ์— Pod๋ฅผ ๋ฐฐํฌํ• ์ง€ ๊ฒฐ์ •
controller-manager์ƒํƒœ ์œ ์ง€, ๋ณต๊ตฌ ๋“ฑ ๋‹ค์–‘ํ•œ ์ปจํŠธ๋กค ์ž‘์—… ์ˆ˜ํ–‰

์›Œ์ปค ๋…ธ๋“œ๋ž€?

์›Œ์ปค ๋…ธ๋“œ๋Š” ์‹ค์ œ๋กœ Pod๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.
๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ โ€œ์ด๊ฑฐ ์‹คํ–‰ํ•ด์ค˜โ€๋ผ๋Š” ์ง€์‹œ๋ฅผ ๋ฐ›๊ณ  ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ์„ค๋ช…
kubelet๋งˆ์Šคํ„ฐ์™€ ํ†ต์‹ ํ•˜๋ฉฐ, Pod ์ƒํƒœ ๊ด€๋ฆฌ
container runtime์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ (์˜ˆ: Docker, containerd ๋“ฑ)
kube-proxy๋„คํŠธ์›Œํฌ ํ†ต์‹  ์ค‘๊ณ„ (Service์™€ Pod ์—ฐ๊ฒฐ)
profile
์•„๋Š” ๋งŒํผ ๋ณด์ธ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€