Kubernetes Components

  • https://kubernetes.io/docs/concepts/overview/components/

components
  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๋ฐฐํฌํ•˜๋ฉด, ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋จ

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ผ์ด์ง•๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋…ธ๋“œ(์›Œ์ปค ๋จธ์‹ )๋“ค๋กœ ๊ตฌ์„ฑ๋จ

  • ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ ์–ด๋„ ํ•˜๋‚˜์˜ ์›Œ์ปค ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ

  • ์›Œ์ปค ๋…ธ๋“œ๋“ค์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์›Œํฌ๋กœ๋“œ์˜ ๊ตฌ์„ฑ์š”์†Œ์ธ Pods๋ฅผ ํ˜ธ์ŠคํŒ…ํ•จ

  • control plane์€ ์›Œ์ปค ๋…ธ๋“œ์™€ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ Pods๋ฅผ ๊ด€๋ฆฌํ•จ

  • ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ control plane์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ , ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๋…ธ๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋‚ด๊ฒฐํ•จ์„ฑ๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์ œ๊ณตํ•จ

Control Plane Components

  • control plane์˜ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ „์—ญ์ ์ธ ๊ฒฐ์ •(์˜ˆ๋ฅผ ๋“ค์–ด, ์Šค์ผ€์ค„๋ง)์„ ๋‚ด๋ฆผ

  • ๋˜ํ•œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์‘๋‹ตํ•จ

  • Control plane์€ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ์–ด๋– ํ•œ ๋จธ์‹ ์—์„œ๋„ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Œ

  • ํ•˜์ง€๋งŒ, ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•˜๊ธฐ์œ„ํ•ด์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ๋™์ผํ•œ ๋จธ์‹ ์— control plane ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ , ์ด ๋จธ์‹ ์—์„œ ์‚ฌ์šฉ์ž ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Œ

Kube-apiserver

  • control plane์˜ ์•ž๋‹จ

  • ์ˆ˜ํ‰์œผ๋กœ ํ™•์žฅ๋˜๋„๋ก ๋””์ž์ธ

  • ์—ฌ๋ ค ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ธ์Šคํ„ด์Šค๊ฐ„์˜ ํŠธ๋ž˜ํ”ฝ์˜ ๊ท ํ˜•์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Œ

etcd

  • ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ Kubernetes์˜ ๋ฐฑ์—… ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ผ๊ด€๋˜๊ณ  ๊ฐ€์šฉ์„ฑ์ด ๋†’์€ ํ‚ค ๊ฐ’ ์ €์žฅ์†Œ

  • etcd๋ฅผ ๋ฐฑ์—… ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ๋ฐ์ดํ„ฐ ๋ฐฑ์—… ์ „๋žต์„ ํ™•์ธํ•ด์•ผํ•จ

kube-scheduler

  • ์ƒˆ๋กœ ์ƒ์„ฑ๋œ Pod์„ ๊ฐ์ง€ํ•˜๊ณ  ์‹คํ–‰ํ•  ๋…ธ๋“œ๋ฅผ ์„ ํƒ

kube-controller-manager

  • controller process๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ

  • ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค์ด์ง€๋งŒ, ๋ณต์žก์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋‘ ๋‹จ์ผ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ปดํŒŒ์ผ๋˜๊ณ  ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰๋จ

cloud-controller-manager

  • ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํด๋ผ์šฐ๋“œ API์™€ ์—ฐ๊ฒฐํ•˜๊ณ , ํ•ด๋‹น ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ์™€๋งŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

  • ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ

Node Components

  • ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๋™์ž‘ํ•˜๊ณ , ๋™์ž‘ ์ค‘์ธ ํŒŒ๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•จ

kubelet

  • ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ๋…ธ๋“œ์—์„œ ๋™์ž‘ํ•˜๋Š” ์—์ด์ „ํŠธ

  • ํŒŒ๋“œ ๋‚ด์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋™์ž‘ ์ค‘์ธ์ง€ ํ™•์ธํ•จ

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š์€ ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ด€๋ฆฌํ•˜์ง€ ์•Š์Œ

kube-proxy

  • ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ๋…ธ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ๋„คํŠธ์›Œํฌ ํ”„๋ก์‹œ

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„œ๋น„์Šค ๊ฐœ๋…์˜ ์ผ๋ถ€๋ฅผ ๊ตฌํ˜„

  • ๋…ธ๋“œ์˜ ๋„คํŠธ์›Œํฌ ๊ทœ์น™์„ ์œ ์ง€ํ•จ

  • ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€์˜ ๋„คํŠธ์›Œํฌ ์„ธ์…˜์—์„œ ํŒŒ๋“œ๋กœ์˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ํ—ˆ์šฉํ•จ

  • OS ํŒจํ‚ท ํ•„ํ„ฐ๋ง ๊ณ„์ธต์ด ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์—†๋‹ค๋ฉด ํŠธ๋ž˜ํ”ฝ ์ž์ฒด๋ฅผ ์ „๋‹ฌํ•จ

Container runtime

  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์„ ๋‹ด๋‹น

Last updated