๋ชฉ์ฐจ
Kubernetes์์ CNI๊ฐ ํ์ํ ์์น
CNI๋ โ๋คํธ์ํฌ ํ๋ฌ๊ทธ์ธ ํ์คโ์ด๊ณ , ํต์ฌ์ ๋ค์๊ณผ ๊ฐ๋ค:
โข
์ปจํ
์ด๋(ํ๋)๊ฐ ์์ฑ๋ ์งํ
โข
๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ๋คํธ์ํฌ์ ๋ถ์ด๋ ์์
์
โข
ํ์ค ์ธํฐํ์ด์ค(add/del/check)๋ก ํ๋ฌ๊ทธ์ธ์๊ฒ ๋งก๊ธด๋ค.
์ฆ, โ๋๊ฐ ํ๋ฌ๊ทธ์ธ์ ํธ์ถํ๋?โ๊ฐ ์ค์ํ๋ค.
๋๊ฐ ํธ์ถํ๋ = ์ปจํ ์ด๋ ๋ฐํ์
์ฟ ๋ฒ๋คํฐ์ค์์ ์ปจํ
์ด๋ ์์ฑ ๋ด๋น์ Container Runtime์ด๋ค.
โข
์: containerd, CRI-O
โข
(Docker๋ ๊ณผ๊ฑฐ ๋ฐํ์์ด์์ง๋ง, ์ง๊ธ์ CRI ๊ธฐ๋ฐ ๋ฐํ์์ด ํ์ค)
๊ทธ๋์ CNI ํ๋ฌ๊ทธ์ธ์ kubelet โ container runtime ํ๋ฆ์์ ํธ์ถ๋๋ค.
์ปจํ
์ด๋๊ฐ ๋ง๋ค์ด์ง๋ฉด ๋ฐํ์์ด CNI๋ฅผ ์คํํด์ ๋คํธ์ํฌ๋ฅผ ๋ถ์ธ๋ค.
CNI ํ๋ฌ๊ทธ์ธ
CNI๋ โํ๋ฌ๊ทธ์ธ ์คํ ํ์ผโ๊ณผ โํ๋ฌ๊ทธ์ธ ์ค์ ํ์ผโ์ด ๋ถ๋ฆฌ๋ผ ์๋ค.
1) ํ๋ฌ๊ทธ์ธ ๋ฐ์ด๋๋ฆฌ ์์น (/opt/cni/bin)
ํ๋ฌ๊ทธ์ธ ์คํ ํ์ผ์ /opt/cni/bin์ ์์นํด ์์ผ๋ฉฐ bridge, dhcp, flannel โฆ ๊ฐ์ ์คํ ํ์ผ๋ค์ด ์กด์ฌํ๋ค. ์ปจํ
์ด๋ ๋ฐํ์์ ์ฌ๊ธฐ์ ํ๋ฌ๊ทธ์ธ์ โ์คํโํ๋ค.
2) CNI ์ค์ ํ์ผ ์์น (/etc/cni/net.d)
โ์ด๋ค ํ๋ฌ๊ทธ์ธ์ ์ด๋ป๊ฒ ์ธ์งโ๋ ์ค์ ํ์ผ๋ก ์ ํ๋ค.
CNI ์ค์ ํ์ผ์ /etc/cni/net.d์ ์ฌ๋ฌ ์ค์ ํ์ผ๋ค์ด ์์นํด์์ผ๋ฉฐ, ์ปจํ
์ด๋ ๋ฐํ์์ ์ด ๋๋ ํ ๋ฆฌ๋ฅผ ํตํด ์ด๋ค CNI ๊ตฌ์ฑ์ ์ ์ฉํ ์ง ๊ฒฐ์ ํ๋ค.
์ค์ ํ์ผ์ด ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ ์ํ๋ฒณ ์์๋ก ์ฒซ ๋ฒ์งธ ํ์ผ์ ์ ํํ๋ค.
์ด์ ๊ฒ์๋ฌผ
๋ค์ ๊ฒ์๋ฌผ