Search

Container Network Interface

Date
2025/01/06
Category
Devops
Tag
Kubernetes
Network
๋ชฉ์ฐจ

ย CNI

CNI(Container Network Interface)๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ๋„คํŠธ์›Œํ‚น์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.
Kubernetes์™€ ๊ฐ™์€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์—์„œ Pod ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„(์˜ˆ: Docker, containerd)๊ณผ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ(์˜ˆ: Kubernetes) ์‚ฌ์ด์˜ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ด ๋‹ค์–‘ํ•˜๊ฒŒ ๋ถ„๋ฆฌ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

ย CNI์˜ ์ค‘์š”์„ฑ

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  CNI๋ฅผ ๊ตฌ์ถ•ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด kubectl get nodes ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ node๋“ค์˜ ์ƒํƒœ๊ฐ€ NotReady์ผ ๊ฒƒ์ด๋‹ค. Pod ๊ฐ„์˜ ํ†ต์‹ ์€ CNI๋ฅผ ํ†ตํ•ด ์ด๋ค„์ง€๋Š”๋ฐ, CNI๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. Node์™€ Pod๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” kubelet์ด ๋…ธ๋“œ์—์„œ์˜ Pod๊ฐ€ ํ†ต์‹ ํ•  ์ˆ˜ ์—†์Œ์„ ๊ฐ์ง€ํ•˜๊ณ  NotReady๋กœ ํ‘œ์‹œํ•œ๋‹ค. CNI๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ •์ƒ์ ์ธ ์šด์˜์„ ์œ„ํ•ด ํ•„์ˆ˜์ ์ธ ์š”์†Œ์ด๋‹ค.

ย CNI์˜ ๊ธฐ๋Šฅ

Pod ๊ฐ„ ํ†ต์‹ 

CNI๋Š” Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ Pod ๊ฐ„์˜ ํ†ต์‹ ์„ ์ง€์›ํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ๋งŒ Pod๊ฐ€ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

IP ์ฃผ์†Œ ๊ด€๋ฆฌ

CNI๋Š” ๊ฐ Pod์— IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๊ณ , ์ด ์ฃผ์†Œ๊ฐ€ ์ถฉ๋Œํ•˜์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌํ•œ๋‹ค. ์ด๋Š” ๋Œ€๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ IP ์ฃผ์†Œ์˜ ํšจ์œจ์ ์ธ ์‚ฌ์šฉ์„ ๋ณด์žฅํ•œ๋‹ค.

๋„คํŠธ์›Œํฌ ์ •์ฑ… ์ง€์›

CNI ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ์ง€์›ํ•˜์—ฌ ์–ด๋–ค Pod๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ œ์–ดํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŠน์ • ํŠธ๋ž˜ํ”ฝ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

ย CNI ํ”Œ๋Ÿฌ๊ทธ์ธ

Kubernetes๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ kubenet์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ์ œํ•œ์ ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ–๊ณ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ธฐ๋Šฅ์ด ํ™•์žฅ๋œ ์„œ๋“œํŒŒํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.
โ€ข
Calico
โ—ฆ
๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ์ง€์›ํ•˜๋ฉฐ, BGP๋ฅผ ํ†ตํ•œ ์Šค์ผ€์ผ๋ง ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ์ œ๊ณต
โ—ฆ
๋ณด์•ˆ๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์ค‘์‹œํ•˜๋Š” ํ™˜๊ฒฝ์— ์ ํ•ฉ
โ€ข
Flannel
โ—ฆ
๊ฐ„๋‹จํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์ œ๊ณตํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ๋ชจ๋“œ(์˜ˆ: VXLAN, Host-Gateway ๋“ฑ)๋ฅผ ์ง€์›
โ—ฆ
์ฃผ๋กœ ๊ฐ„๋‹จํ•œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‚ฌ์šฉ
โ€ข
Weave Net
โ—ฆ
์ž๋™ํ™”๋œ ๋„คํŠธ์›Œํฌ ์„ค์ •๊ณผ ๊ณ ๊ธ‰ ๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ์ œ๊ณต
โ—ฆ
๋ฉ€ํ‹ฐ ํด๋Ÿฌ์Šคํ„ฐ ํ™˜๊ฒฝ์—๋„ ์ž˜ ์ž‘๋™