CKA-2์ผ์ฐจ

YeJi Kimยท2023๋…„ 2์›” 14์ผ
0

CKA

๋ชฉ๋ก ๋ณด๊ธฐ
2/15

๐Ÿ“ CKA 2์ผ์ฐจ
๐Ÿ“ Udemy-Certified Kubernetes Administrator (CKA) with Practice Tests 18-27




18. Kubelet

kubelet์€ ๋ฐฐ์˜ ์„ ์žฅ๊ณผ ๊ฐ™๋‹ค.
kubelet์€ Pod์˜ ์ƒํƒœ์™€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ณ„์† ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋™์‹œ์— kube API server์— ๋ณด๊ณ ํ•œ๋‹ค.


ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด kubeadm์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ, kubelet์€ ์ž๋™์œผ๋กœ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š”๋‹ค.
์ž‘์—…์ž ๋…ธ๋“œ์— ๋ฐ˜๋“œ์‹œ ์ˆ˜๋™์œผ๋กœ kubelet์„ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.


์ž‘์—…์ž ๋…ธ๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์ค‘ kubelet์„ ๊ฒ€์ƒ‰ํ•จ์œผ๋กœ์จ ์‹คํ–‰ ์ค‘์ธ kubelet ํ”„๋กœ์„ธ์Šค์˜ ์˜ต์…˜์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.




19. Kube Proxy

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ end-to-end ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
์ด๊ฑด ํŒŒ๋“œ ๋„คํŠธ์›Œํ‚น ์†”๋ฃจ์…˜์„ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌํ•จ์œผ๋กœ์จ ์ด๋ค„์ง„๋‹ค.
ํŒŒ๋“œ ๋„คํŠธ์›Œํฌ๋Š” ๋‚ด๋ถ€ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ๋กœ ๋ชจ๋“  ํŒŒ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด ๋ชจ๋“  ๋…ธ๋“œ์— ๊ฑธ์ณ ์žˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋‘ ์„œ๋กœ ํ†ต์‹  ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•ญ์ƒ ์ƒ๋Œ€๋ฐฉ Pod์˜ IP๊ฐ€ ๊ฐ™์„ ๊ฒƒ์ด๋ผ๋Š” ๋ณด์žฅ์ด ์—†๋‹ค.
๊ทธ๋ž˜์„œ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•œ๋‹ค.
์„œ๋น„์Šค ์ด๋ฆ„์„ ํ†ตํ•ด ์ƒ๋Œ€ Pod์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
์„œ๋น„์Šค๋Š” ํŒŒ๋“œ ๋„คํŠธ์›Œํฌ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค.
์„œ๋น„์Šค๋Š” ์‹ค์ œ ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์„œ๋น„์Šค๋Š” Pod ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ์ธํ„ฐํŽ˜์ด์Šค๋„ ์—†๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์กด์žฌํ•˜๋Š” ๊ฐ€์ƒ ๊ตฌ์„ฑ ์š”์†Œ์ด๋‹ค.
๊ทธ๋Ÿผ์—๋„ ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ€๋กœ์งˆ๋Ÿฌ ์–ด๋–ค ๋…ธ๋“œ์—์„œ๋„ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” Kube-Proxy ๋•๋ถ„์ด๋‹ค.

Kube-Proxy๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ๋…ธ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๋‹ค.
Kube-Proxy๋Š” ์ƒˆ ์„œ๋น„์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ๊ฐ ๋…ธ๋“œ์— ์ ์ ˆํ•œ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ๊ทธ ์„œ๋น„์Šค๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•œ๋‹ค. iptable ๊ทœ์น™์„ ์ด์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.


์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฐฐํฌ ํŽ˜์ด์ง€์—์„œ Kube-Proxy ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ์„œ๋น„์Šค๋กœ ์‹คํ–‰ํ•˜๋ฉด Kube-Proxy๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.


kubeadm ํˆด์€ ๊ฐ ๋…ธ๋“œ์— kube-proxy๋ฅผ ํŒŒ๋“œ ํ˜•ํƒœ๋กœ ๋ฐฐํฌํ•œ๋‹ค. ์‚ฌ์‹ค daemonset์œผ๋กœ ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ์ผ ํŒŒ๋“œ๋Š” ํ•ญ์ƒ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด ๊ฐ ๋…ธ๋“œ์— ๋ฐฐํฌ๋œ๋‹ค.




20. Recap-PODs

ํŒŒ๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์ „์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ€์ •ํ•ด๋ณด์ž.
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ด๋ฏธ ๊ฐœ๋ฐœ๋ผ Docker ์ด๋ฏธ์ง€์— ๋‚ด์žฅ๋˜์—ˆ์œผ๋ฉฐ Docker Hub์™€ ๊ฐ™์€ Docker Repository์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.
๋˜ํ•œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋„ ์ด๋ฏธ ์„ค์ •๋˜์–ด ์ž‘๋™ ์ค‘์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž.


์ตœ์ข… ๋ชฉํ‘œ๋Š” ์ปจํ…Œ์ด๋„ˆ ํ˜•ํƒœ์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์—…์ž ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ์ปดํ“จํ„ฐ ์„ธํŠธ์— ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ปจํ…Œ์ด๋„ˆ๋Š” Pod ํ˜•ํƒœ๋กœ ํฌ์žฅ๋œ๋‹ค. Pod๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋‹จ์ผ ์ธ์Šคํ„ด์Šค์ด๋‹ค.
Pod๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋ฌผ์ฒด์ด๋‹ค.

Pod๋Š” ๋ณดํ†ต ์•ฑ์„ ์‹คํ–‰ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ 1:1 ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š”๋‹ค.
๋”ฐ๋ผ์„œ, ๊ทœ๋ชจ๋ฅผ ํ‚ค์šฐ๋ ค๋ฉด ์ƒˆ ํŒŒ๋“œ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ณ  ๊ทœ๋ชจ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์กด ํŒŒ๋“œ๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค.
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ทœ๋ชจ๋ฅผ ํ‚ค์šฐ๊ธฐ ์œ„ํ•ด ๊ธฐ์กด ํŒŒ๋“œ์— ์ถ”๊ฐ€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
๋งŒ์•ฝ ํ˜„์žฌ ๋…ธ๋“œ๊ฐ€ ์ถฉ๋ถ„ํ•œ ์šฉ๋Ÿ‰์„ ๊ฐ–์ถ”์ง€ ๋ชปํ•œ๋‹ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒˆ ๋…ธ๋“œ์— ์ถ”๊ฐ€ ํŒŒ๋“œ๋ฅผ ๋ฐฐํฌํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํ•˜๋‚˜์˜ ํŒŒ๋“œ์— ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์„๊นŒ?
ํ•˜๋‚˜์˜ ํŒŒ๋“œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋ณดํ†ต์€ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์ง€ ์•Š๋‹ค.
๋‘ ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฐ™์€ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌํ˜ธ์ŠคํŠธ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ฒŒ๋‹ค๊ฐ€ ๊ฐ™์€ ์ €์žฅ์†Œ ๊ณต๊ฐ„์„ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

Pod๋กœ ๊ตฌ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ๋งŒ ์ •์˜ํ•˜๋ฉด Pod์— ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๊ฐ™์€ ์ €์žฅ์†Œ์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. Pod์˜ ์ปจํ…Œ์ด๋„ˆ๋“ค์€ ํ•จ๊ป˜ ์ƒ์„ฑ๋˜๊ณ  ํ•จ๊ป˜ ํŒŒ๊ดด๋œ๋‹ค.
์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ•˜๋‚˜๋งŒ ํ•„์š”ํ•˜๋”๋ผ๋„ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํŒŒ๋“œ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.
๋‹ค์ค‘ ํŒŒ๋“œ ์ปจํ…Œ์ด๋„ˆ๋Š” ๋“œ๋ฌธ ์‚ฌ๋ก€์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ•์˜์—์„œ๋Š” ํŒŒ๋“œ๋‹น ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.
kubectl ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํŒŒ๋“œ๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.
ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌํ•œ๋‹ค.
์ด๋ฏธ์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„์„ ์–ป๊ณ  Docker Hub ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค.




21. PODs with YAML

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” YAML ํŒŒ์ผ์„ Pod, ReplicaSet, Deployment, Service ๋“ฑ ๊ฐœ์ฒด ์ƒ์„ฑ์„ ์œ„ํ•œ ์ž…๋ ฅ ์–‘์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
kubectl api-resources -o wide ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด kubernetes resources list๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ •์˜ ํŒŒ์ผ์€ ํ•ญ์ƒ 4๊ฐœ์˜ ์ƒ์œ„ ๋ ˆ๋ฒจ ํ•„๋“œ(apiVersion, kind, metadata, spec)๋ฅผ ํฌํ•จํ•œ๋‹ค.
์ด๊ฒƒ๋“ค์€ ๋ฃจํŠธ ๋ ˆ๋ฒจ์˜ ์†์„ฑ๋“ค์ด๋‹ค.

  • apiVersion: ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค api ๋ฒ„์ „์ด๋‹ค. ๋งŒ๋“ค๋ ค๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ด๋ƒ์— ๋”ฐ๋ผ ์˜ฌ๋ฐ”๋ฅธ API ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
  • kind: ๋งŒ๋“œ๋ ค๋Š” ๊ฐœ์ฒด ์œ ํ˜•์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • metadata: ์ด๋ฆ„์ด๋‚˜ ๋ผ๋ฒจ์ฒ˜๋Ÿผ ๊ฐœ์ฒด ์œ„์˜ ๋ฐ์ดํ„ฐ์ด๋‹ค. ๋ผ๋ฒจ์€ ํ‚ค์™€ ๊ฐ’ ์Œ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • spec: ์‚ฌ์–‘์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ƒ์„ฑํ•˜๋ ค๋Š” ๊ฐœ์ฒด์— ๋”ฐ๋ผ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—๊ฒŒ ๊ฐœ์ฒด์™€ ๊ด€๋ จ๋œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.


multi container pod์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ช…์‹œํ•œ๋‹ค.




22. Demo - PODs with YAML

pod๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์‹ค์Šต ๊ณผ์ •์ด๋‹ค.


์ฃผ์˜์‚ฌํ•ญ!

  • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•œ๋‹ค.
  • ํ•˜์œ„ ์ง‘ํ•ฉ์€ ์ธ๋ดํŠธ(2์นธ)๋ฅผ ์ง€ํ‚ค์ž.
profile
์ด์ „์˜ ๊ธฐ๋ก๋“ค ๐Ÿ‘‰ https://blog.naver.com/reviewerkyj

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