๐ CKA 2์ผ์ฐจ
๐ Udemy-Certified Kubernetes Administrator (CKA) with Practice Tests 18-27
kubelet์ ๋ฐฐ์ ์ ์ฅ๊ณผ ๊ฐ๋ค.
kubelet์ Pod์ ์ํ์ ์ปจํ
์ด๋๋ฅผ ๊ณ์ ๋ชจ๋ํฐ๋งํ๊ณ ๋์์ kube API server์ ๋ณด๊ณ ํ๋ค.
ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํด kubeadm์ ์ฌ์ฉํ ๊ฒฝ์ฐ, kubelet์ ์๋์ผ๋ก ๋ฐฐํฌ๋์ง ์๋๋ค.
์์
์ ๋
ธ๋์ ๋ฐ๋์ ์๋์ผ๋ก kubelet์ ์ค์นํด์ผ ํ๋ค.
์์
์ ๋
ธ๋์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค ์ค kubelet์ ๊ฒ์ํจ์ผ๋ก์จ ์คํ ์ค์ธ kubelet ํ๋ก์ธ์ค์ ์ต์
์ ํ์ธํ ์ ์๋ค.
์ฟ ๋ฒ๋คํฐ์ค์์ end-to-end ํต์ ์ด ๊ฐ๋ฅํ๋ค.
์ด๊ฑด ํ๋ ๋คํธ์ํน ์๋ฃจ์
์ ํด๋ฌ์คํฐ์ ๋ฐฐํฌํจ์ผ๋ก์จ ์ด๋ค์ง๋ค.
ํ๋ ๋คํธ์ํฌ๋ ๋ด๋ถ ๊ฐ์ ๋คํธ์ํฌ๋ก ๋ชจ๋ ํ๋๊ฐ ์ฐ๊ฒฐ๋๋ ํด๋ฌ์คํฐ ๋ด ๋ชจ๋ ๋
ธ๋์ ๊ฑธ์ณ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด ๋คํธ์ํฌ๋ฅผ ํตํด ๋ชจ๋ ์๋ก ํต์ ๊ฐ๋ฅํ๋ค.
ํญ์ ์๋๋ฐฉ Pod์ IP๊ฐ ๊ฐ์ ๊ฒ์ด๋ผ๋ ๋ณด์ฅ์ด ์๋ค.
๊ทธ๋์ ์๋น์ค๋ฅผ ์ด์ฉํ๋ค.
์๋น์ค ์ด๋ฆ์ ํตํด ์๋ Pod์ ์ ๊ทผํ ์ ์๋ค.
์๋น์ค๋ ํ๋ ๋คํธ์ํฌ์ ํฌํจ๋์ด ์์ง ์๋ค.
์๋น์ค๋ ์ค์ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ด๋ค.
์๋น์ค๋ Pod ๊ฐ์ ์ปจํ
์ด๋๊ฐ ์๋๋ผ์ ์ธํฐํ์ด์ค๋ ์๊ณ ์ฟ ๋ฒ๋คํฐ์ค ๋ฉ๋ชจ๋ฆฌ์๋ง ์กด์ฌํ๋ ๊ฐ์ ๊ตฌ์ฑ ์์์ด๋ค.
๊ทธ๋ผ์๋ ์ด๋ฌํ ์๋น์ค๊ฐ ํด๋ฌ์คํฐ๋ฅผ ๊ฐ๋ก์ง๋ฌ ์ด๋ค ๋
ธ๋์์๋ ์ ๊ทผ ๊ฐ๋ฅํ ์ด์ ๋ Kube-Proxy ๋๋ถ์ด๋ค.
Kube-Proxy๋ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ๊ฐ ๋
ธ๋์์ ์คํ๋๋ ํ๋ก์ธ์ค์ด๋ค.
Kube-Proxy๋ ์ ์๋น์ค๊ฐ ์์ฑ๋ ๋๋ง๋ค ๊ฐ ๋
ธ๋์ ์ ์ ํ ๊ท์น์ ๋ง๋ค์ด ๊ทธ ์๋น์ค๋ก ํธ๋ํฝ์ ์ ๋ฌํ๋ค. iptable ๊ท์น์ ์ด์ฉํ๊ธฐ๋ ํ๋ค.
์ฟ ๋ฒ๋คํฐ์ค ๋ฐฐํฌ ํ์ด์ง์์ Kube-Proxy ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํด์ ์๋น์ค๋ก ์คํํ๋ฉด Kube-Proxy๋ฅผ ์ค์นํ ์ ์๋ค.
kubeadm ํด์ ๊ฐ ๋
ธ๋์ kube-proxy๋ฅผ ํ๋ ํํ๋ก ๋ฐฐํฌํ๋ค. ์ฌ์ค daemonset์ผ๋ก ๋ฐฐํฌ๋๋ ๊ฒ์ด๋ค. ๋จ์ผ ํ๋๋ ํญ์ ํด๋ฌ์คํฐ ๋ด ๊ฐ ๋
ธ๋์ ๋ฐฐํฌ๋๋ค.
ํ๋๋ฅผ ์ดํดํ๊ธฐ ์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ํด๋ณด์.
์์ฉ ํ๋ก๊ทธ๋จ์ด ์ด๋ฏธ ๊ฐ๋ฐ๋ผ Docker ์ด๋ฏธ์ง์ ๋ด์ฅ๋์์ผ๋ฉฐ Docker Hub์ ๊ฐ์ Docker Repository์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค๊ณ ๊ฐ์ ํ์.
๋ํ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ ์ด๋ฏธ ์ค์ ๋์ด ์๋ ์ค์ด๋ผ๊ณ ๊ฐ์ ํ์.
์ต์ข
๋ชฉํ๋ ์ปจํ
์ด๋ ํํ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์
์ ๋
ธ๋๋ก ๊ตฌ์ฑ๋ ์ปดํจํฐ ์ธํธ์ ๋ฐฐํฌํ๋ ๊ฒ์ด๋ค.
์ปจํ
์ด๋๋ Pod ํํ๋ก ํฌ์ฅ๋๋ค. Pod๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋จ์ผ ์ธ์คํด์ค์ด๋ค.
Pod๋ ์ฟ ๋ฒ๋คํฐ์ค์์ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ์์ ๋ฌผ์ฒด์ด๋ค.
Pod๋ ๋ณดํต ์ฑ์ ์คํํ๋ ์ปจํ
์ด๋์ 1:1 ๊ด๊ณ๋ฅผ ๊ฐ๋๋ค.
๋ฐ๋ผ์, ๊ท๋ชจ๋ฅผ ํค์ฐ๋ ค๋ฉด ์ ํ๋๋ฅผ ๋ง๋ค์ด์ผ ํ๊ณ ๊ท๋ชจ๋ฅผ ์ค์ด๊ธฐ ์ํด์๋ ๊ธฐ์กด ํ๋๋ฅผ ์ญ์ ํด์ผ ํ๋ค.
์์ฉ ํ๋ก๊ทธ๋จ ๊ท๋ชจ๋ฅผ ํค์ฐ๊ธฐ ์ํด ๊ธฐ์กด ํ๋์ ์ถ๊ฐ ์ปจํ
์ด๋๋ฅผ ์ถ๊ฐํ์ง ์๋๋ค.
๋ง์ฝ ํ์ฌ ๋
ธ๋๊ฐ ์ถฉ๋ถํ ์ฉ๋์ ๊ฐ์ถ์ง ๋ชปํ๋ค๋ฉด ํด๋ฌ์คํฐ์ ์ ๋
ธ๋์ ์ถ๊ฐ ํ๋๋ฅผ ๋ฐฐํฌํ๋ค.
๊ทธ๋ ๋ค๋ฉด ํ๋์ ํ๋์ ํ๋์ ์ปจํ
์ด๋๋ง ๋ค์ด๊ฐ ์ ์์๊น?
ํ๋์ ํ๋์ ์ฌ๋ฌ ๊ฐ์ ์ปจํ
์ด๋๊ฐ ๋ค์ด๊ฐ ์ ์๋ค.
ํ์ง๋ง ๋ณดํต์ ๊ฐ์ ์ข
๋ฅ์ ์ปจํ
์ด๋๊ฐ ์ฌ๋ฌ ๊ฐ ์์ง ์๋ค.
๋ ์ปจํ
์ด๋๋ ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋ก์ปฌํธ์คํธ๋ผ๋ ์ด๋ฆ์ผ๋ก ์๋ก ํต์ ํ ์ ์๋ค.
๊ฒ๋ค๊ฐ ๊ฐ์ ์ ์ฅ์ ๊ณต๊ฐ์ ์ฝ๊ฒ ๊ณต์ ํ ์๋ ์๋ค.
Pod๋ก ๊ตฌ์ฑ๋ ์ปจํ
์ด๋๋ง ์ ์ํ๋ฉด Pod์ ์๋ ์ปจํ
์ด๋๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๊ฐ์ ์ ์ฅ์์ ๊ฐ์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ ์ ๊ทผํ ์ ์๋ค. Pod์ ์ปจํ
์ด๋๋ค์ ํจ๊ป ์์ฑ๋๊ณ ํจ๊ป ํ๊ดด๋๋ค.
์ปจํ
์ด๋๊ฐ ํ๋๋ง ํ์ํ๋๋ผ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ ํ๋๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
๋ค์ค ํ๋ ์ปจํ
์ด๋๋ ๋๋ฌธ ์ฌ๋ก์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์์์๋ ํ๋๋น ํ๋์ ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
kubectl ๋ช
๋ น์ด๋ฅผ ํตํด ํ๋๋ฅผ ๋ฐฐํฌํ ์ ์๋ค.
ํ๋๋ฅผ ์์ฑํด์ ์ปจํ
์ด๋๋ฅผ ๋ฐฐํฌํ๋ค.
์ด๋ฏธ์ง ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ์ด๋ฏธ์ง์ ์ด๋ฆ์ ์ป๊ณ Docker Hub ๋ ํฌ์งํ ๋ฆฌ์์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ๋ฐ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ YAML ํ์ผ์ Pod, ReplicaSet, Deployment, Service ๋ฑ ๊ฐ์ฒด ์์ฑ์ ์ํ ์
๋ ฅ ์์์ผ๋ก ์ฌ์ฉํ๋ค.
kubectl api-resources -o wide
๋ช
๋ น์ด๋ฅผ ํตํด kubernetes resources list๋ฅผ ํ์ธํ ์ ์๋ค.
์ฟ ๋ฒ๋คํฐ์ค ์ ์ ํ์ผ์ ํญ์ 4๊ฐ์ ์์ ๋ ๋ฒจ ํ๋(apiVersion, kind, metadata, spec)๋ฅผ ํฌํจํ๋ค.
์ด๊ฒ๋ค์ ๋ฃจํธ ๋ ๋ฒจ์ ์์ฑ๋ค์ด๋ค.
multi container pod์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ๋ช
์ํ๋ค.
pod๋ฅผ ์์ฑํ๋ ์ค์ต ๊ณผ์ ์ด๋ค.
์ฃผ์์ฌํญ!