Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ
์ด ๋ฌธ์„œ๋Š” Kubernetes์—์„œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹, ์žฅ๊ธฐ ์—ฐ๊ฒฐ์„ ํ™•์žฅํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ, HTTP/2, gRPC, RSocket, AMQP ๋˜๋Š” ๊ธฐํƒ€ ์žฅ๊ธฐ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ฐธ๋Ÿฐ์‹ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. . 

Kubernetes์—์„œ ํŠธ๋ž˜ํ”ฝ์ด ์žฌ๋ถ„๋ฐฐ๋˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. 

Kubernetes๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ํŽธ๋ฆฌํ•œ ์ถ”์ƒํ™”, ์ฆ‰ ์„œ๋น„์Šค์™€ ๋ฐฐํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ๋Š” ํŠน์ • ์‹œ๊ฐ„์— ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณต์‚ฌ๋ณธ ์ˆ˜์™€ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํฌ๋“œ๋กœ ๋ฐฐํฌ๋˜๊ณ  IP ์ฃผ์†Œ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค๋Š” ๊ธฐ๋Šฅ ๋ฉด์—์„œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํฌ๋“œ์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ๋ณด์ž.

  1. ์•„๋ž˜ ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ๋Š” ๋™์ผํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์„ธ ๊ฐ€์ง€ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  2. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” ์„œ๋น„์Šค๋ผ๊ณ  ํ•˜๋ฉฐ IP ์ฃผ์†Œ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์€ Pod ์ค‘ ํ•˜๋‚˜๋กœ ๋ฆฌ๋””๋ ‰์…˜๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  3. ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋”ฐ๋ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค ์ˆ˜๊ฐ€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ•ญ๋ชฉ์—์„œ ์ง์ ‘ ํ™•์žฅํ•  ํ•„์š”๋Š” ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  4. ๊ฐ ํฌ๋“œ์—๋Š” ์ž์ฒด IP ์ฃผ์†Œ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

์„œ๋น„์Šค๋ฅผ IP ์ฃผ์†Œ ๋ชจ์Œ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค์— ์ ‘์†ํ•  ๋•Œ๋งˆ๋‹ค ๋ชฉ๋ก์—์„œ IP ์ฃผ์†Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์„ ํƒ๋˜์–ด ๋Œ€์ƒ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์ปฌ 10.96.45.152 ์š”์ฒญ์ด ์„œ๋น„์Šค์— ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  2. ์„œ๋น„์Šค๋Š” ์„ธ ๊ฐœ์˜ Pod ์ฃผ์†Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  3. ํŠธ๋ž˜ํ”ฝ์ด ํŠน์ • ํฌ๋“œ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋กœ ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ์„œ๋น„์Šค์™€ ๋ฐฐํฌ๊ฐ€ ๋ชจ๋‘ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ์—”๋“œ๊ฐ€ ๋ฐฑ์—”๋“œ์— ์š”์ฒญํ•  ๋•Œ ๋ฐฑ์—”๋“œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํฌ๋“œ ์ˆ˜๋ฅผ ์ •ํ™•ํžˆ ์•Œ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. XNUMX๊ฐœ, XNUMX๊ฐœ ๋˜๋Š” XNUMX๊ฐœ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ํ”„๋ŸฐํŠธ์—”๋“œ๋Š” ๋ฐฑ์—”๋“œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํฌ๋“œ์˜ ์ฃผ์†Œ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ์—”๋“œ๊ฐ€ ๋ฐฑ์—”๋“œ์— ์š”์ฒญํ•  ๋•Œ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ๋ณด์ด๋Š” ๋ฐฉ๋ฒ•.

  1. 1 ๋ฏธ๋งŒ์—์„œ๋Š” ๋‚ด๋ถ€ ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด ํŠน์ • ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๋Š” ๋Œ€์‹  ์„œ๋น„์Šค์— ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  2. ์„œ๋น„์Šค๋Š” ๋ฐฑ์—”๋“œ Pod ์ค‘ ํ•˜๋‚˜๋ฅผ ๋Œ€์ƒ ์ฃผ์†Œ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  3. ํŠธ๋ž˜ํ”ฝ์€ ์„œ๋น„์Šค์—์„œ ์„ ํƒํ•œ Pod 1์—์„œ Pod 5๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  4. Under 1์€ ์„œ๋น„์Šค ๋’ค์— ์ˆจ๊ฒจ์ ธ ์žˆ๋Š” Under 5์™€ ๊ฐ™์€ Pod์˜ ์ˆ˜๋ฅผ ์ •ํ™•ํžˆ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

ํ•˜์ง€๋งŒ ์„œ๋น„์Šค๋Š” ์š”์ฒญ์„ ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ•ฉ๋‹ˆ๊นŒ? ๋ผ์šด๋“œ ๋กœ๋นˆ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‚˜์š”? ๊ทธ๊ฒƒ์„ ์•Œ์•„ ๋ด…์‹œ๋‹ค. 

Kubernetes ์„œ๋น„์Šค์˜ ๊ท ํ˜• ์กฐ์ •

Kubernetes ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. IP ์ฃผ์†Œ์™€ ํฌํŠธ๊ฐ€ ํ• ๋‹น๋œ ์„œ๋น„์Šค์—๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋…ธ๋“œ์— ๋กœ๊ทธ์ธํ•˜๊ณ  netstat -ntlp ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค์— ํ• ๋‹น๋œ IP ์ฃผ์†Œ๋„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค์˜ IP ์ฃผ์†Œ๋Š” ์ œ์–ด ๊ณ„์ธต, ์ปจํŠธ๋กค๋Ÿฌ์— ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(etcd)์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅธ ๊ตฌ์„ฑ์š”์†Œ์ธ kube-proxy์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
Kube-proxy๋Š” ๋ชจ๋“  ์„œ๋น„์Šค์— ๋Œ€ํ•œ IP ์ฃผ์†Œ ๋ชฉ๋ก์„ ์ˆ˜์‹ ํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ๋…ธ๋“œ์— iptables ๊ทœ์น™ ์„ธํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•ฉ๋‹ˆ๋‹ค. "์„œ๋น„์Šค์˜ IP ์ฃผ์†Œ๊ฐ€ ๋ณด์ด๋ฉด ์š”์ฒญ์˜ ๋Œ€์ƒ ์ฃผ์†Œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ํฌ๋“œ ์ค‘ ํ•˜๋‚˜๋กœ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค."

์„œ๋น„์Šค IP ์ฃผ์†Œ๋Š” ์ง„์ž…์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋˜๋ฉฐ ํ•ด๋‹น IP ์ฃผ์†Œ ๋ฐ ํฌํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์—์„œ๋Š” ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์‚ดํŽด๋ณด์ž

  1. ์„ธ ๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ๊ฐ ๋…ธ๋“œ์—๋Š” Pod๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  2. ๋ฒ ์ด์ง€์ƒ‰์œผ๋กœ ์น ํ•ด์ง„ ๋ฌถ์Œ ํฌ๋“œ๋„ ์„œ๋น„์Šค์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค๊ฐ€ ํ”„๋กœ์„ธ์Šค๋กœ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  3. ์ฒซ ๋ฒˆ์งธ Pod๋Š” ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๊ณ  ์—ฐ๊ฒฐ๋œ Pod ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  4. ํ•˜์ง€๋งŒ ์„œ๋น„์Šค๋„ ์กด์žฌํ•˜์ง€ ์•Š๊ณ , ํ”„๋กœ์„ธ์Šค๋„ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋‚˜์š”?

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  5. ์š”์ฒญ์ด ๋…ธ๋“œ๋ฅผ ๋– ๋‚˜๊ธฐ ์ „์— iptables ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  6. iptables ๊ทœ์น™์€ ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ํ•ด๋‹น IP ์ฃผ์†Œ๋ฅผ ํ•ด๋‹น ์„œ๋น„์Šค์™€ ์—ฐ๊ฒฐ๋œ Pod์˜ IP ์ฃผ์†Œ ์ค‘ ํ•˜๋‚˜๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  7. ์š”์ฒญ์€ ์œ ํšจํ•œ IP ์ฃผ์†Œ๋ฅผ ๋Œ€์ƒ ์ฃผ์†Œ๋กœ ์ˆ˜์‹ ํ•˜๊ณ  ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  8. ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€์— ๋”ฐ๋ผ ์š”์ฒญ์€ ๊ฒฐ๊ตญ Pod์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

iptables๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

์•„๋‹ˆ์š”, iptables๋Š” ํ•„ํ„ฐ๋ง์— ์‚ฌ์šฉ๋˜๋ฉฐ ๊ท ํ˜• ์กฐ์ •์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•˜๋Š” ์ผ๋ จ์˜ ๊ทœ์น™์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์œ ์‚ฌ ๋ฐธ๋Ÿฐ์„œ.

์ด๊ฒƒ์ด ๋ฐ”๋กœ Kubernetes์—์„œ ๊ตฌํ˜„๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํฌ๋“œ๊ฐ€ XNUMX๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ kube-proxy๋Š” ๋‹ค์Œ ๊ทœ์น™์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. ํ™•๋ฅ ์ด 33%์ธ ์ฒซ ๋ฒˆ์งธ ํ•˜์œ„๋ฅผ ์„ ํƒํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ ๊ทœ์น™์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  2. ํ™•๋ฅ ์ด 50%์ธ ๋‘ ๋ฒˆ์งธ ๊ทœ์น™์„ ์„ ํƒํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ ๊ทœ์น™์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  3. ์•„๋ž˜์—์„œ ์„ธ ๋ฒˆ์งธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ด ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ Pod๊ฐ€ 33%์˜ ํ™•๋ฅ ๋กœ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.

Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

๊ทธ๋ฆฌ๊ณ  Pod 2 ๋‹ค์Œ์— Pod 1๊ฐ€ ์„ ํƒ๋œ๋‹ค๋Š” ๋ณด์žฅ๋„ ์—†์Šต๋‹ˆ๋‹ค.

์ฃผ์˜: iptables๋Š” ๋ฌด์ž‘์œ„ ๋ถ„ํฌ๋ฅผ ๊ฐ–๋Š” ํ†ต๊ณ„ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ท ํ˜• ์กฐ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌด์ž‘์œ„ ์„ ํƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์„œ๋น„์Šค ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ–ˆ์œผ๋ฏ€๋กœ ๋” ํฅ๋ฏธ๋กœ์šด ์„œ๋น„์Šค ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Kubernetes์˜ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™•์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ์—”๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ์˜ ๊ฐ HTTP ์š”์ฒญ์€ ์—ด๋ฆฌ๊ณ  ๋‹ซํžˆ๋Š” ๋ณ„๋„์˜ TCP ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ์—”๋“œ๊ฐ€ ๋ฐฑ์—”๋“œ์— ์ดˆ๋‹น 100๊ฐœ์˜ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ 100๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ TCP ์—ฐ๊ฒฐ์ด ์—ด๋ฆฌ๊ณ  ๋‹ซํž™๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ TCP ์—ฐ๊ฒฐ์„ ์—ด๊ณ  ๋ชจ๋“  ํ›„์† HTTP ์š”์ฒญ์— ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„๊ณผ ๋กœ๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTP ํ”„๋กœํ† ์ฝœ์—๋Š” HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ๋˜๋Š” ์—ฐ๊ฒฐ ์žฌ์‚ฌ์šฉ์ด๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‹จ์ผ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ HTTP ์š”์ฒญ ๋ฐ ์‘๋‹ต์„ ๋ณด๋‚ด๊ณ  ๋ฐ›์Šต๋‹ˆ๋‹ค.

Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

์ด ๊ธฐ๋Šฅ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ชจ๋‘ ์ ์ ˆํ•˜๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฐ ํ™˜๊ฒฝ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋กœ ๋œ ์˜ˆ์‹œ์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค.

Kubernetes ์„œ๋น„์Šค์—์„œ ์—ฐ๊ฒฐ ์œ ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?
ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ๋ชจ๋‘ ์—ฐ๊ฒฐ ์œ ์ง€๋ฅผ ์ง€์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ์‚ฌ๋ณธ XNUMX๊ฐœ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ๋ณธ XNUMX๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ์—”๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์„ ํ•˜๊ณ  ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ TCP ์—ฐ๊ฒฐ์„ ์—ฝ๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์„œ๋น„์Šค์— ๋„๋‹ฌํ•˜๋ฉด ๋ฐฑ์—”๋“œ Pod ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋Œ€์ƒ ์ฃผ์†Œ๋กœ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๊ฐ€ ์‘๋‹ต์„ ๋ณด๋‚ด๊ณ , ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ์ด๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.

์‘๋‹ต์„ ๋ฐ›์€ ํ›„ TCP ์—ฐ๊ฒฐ์ด ๋‹ซํžˆ๋Š” ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ๊ณผ ๋‹ฌ๋ฆฌ ์ด์ œ๋Š” ์ถ”๊ฐ€ HTTP ์š”์ฒญ์„ ์œ„ํ•ด ์—ด๋ฆฐ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ์—”๋“œ๊ฐ€ ๋ฐฑ์—”๋“œ์— ๋” ๋งŽ์€ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐฉํ˜• TCP ์—ฐ๊ฒฐ์ด ์‚ฌ์šฉ๋˜๋ฉฐ ๋ชจ๋“  ์š”์ฒญ์€ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์ด ์ „๋‹ฌ๋œ ๋™์ผํ•œ ๋ฐฑ์—”๋“œ๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค.

iptables๊ฐ€ ํŠธ๋ž˜ํ”ฝ์„ ์žฌ๋ถ„๋ฐฐํ•˜๋ฉด ์•ˆ ๋˜๋‚˜์š”?

์ด ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

TCP ์—ฐ๊ฒฐ์ด ์ƒ์„ฑ๋˜๋ฉด ํŠธ๋ž˜ํ”ฝ์ด ์ด๋™ํ•  ํŠน์ • ๋ฐฑ์—”๋“œ๋ฅผ ์„ ํƒํ•˜๋Š” iptables ๊ทœ์น™์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ํ›„์† ์š”์ฒญ์€ ์ด๋ฏธ ์—ด๋ ค ์žˆ๋Š” TCP ์—ฐ๊ฒฐ์— ์žˆ์œผ๋ฏ€๋กœ iptables ๊ทœ์น™์€ ๋” ์ด์ƒ ํ˜ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ๋ณด์ž.

  1. ์ฒซ ๋ฒˆ์งธ Pod๋Š” ์„œ๋น„์Šค์— ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  2. ๋‹น์‹ ์€ ๋‹ค์Œ์— ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ ์ง€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” iptables ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  3. ๋ฐฑ์—”๋“œ Pod ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋Œ€์ƒ ์ฃผ์†Œ๋กœ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  4. ์š”์ฒญ์ด ํฌ๋“œ์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ์ ์—์„œ ๋‘ ํฌ๋“œ ์‚ฌ์ด์— ์˜๊ตฌ TCP ์—ฐ๊ฒฐ์ด ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  5. ์ฒซ ๋ฒˆ์งธ Pod์˜ ๋ชจ๋“  ํ›„์† ์š”์ฒญ์€ ์ด๋ฏธ ์„ค์ •๋œ ์—ฐ๊ฒฐ์„ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

๊ฒฐ๊ณผ์ ์œผ๋กœ ์‘๋‹ต ์‹œ๊ฐ„์ด ๋นจ๋ผ์ง€๊ณ  ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋†’์•„์ง€์ง€๋งŒ ๋ฐฑ์—”๋“œ๋ฅผ ํ™•์žฅํ•˜๋Š” ๋Šฅ๋ ฅ์€ ์ƒ์‹ค๋ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ์— ๋‘ ๊ฐœ์˜ ํฌ๋“œ๊ฐ€ ์žˆ๊ณ  ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ํŠธ๋ž˜ํ”ฝ์€ ํ•ญ์ƒ ๊ทธ ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

Kubernetes๋Š” ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ž‘์—…์€ ๊ท€ํ•˜์—๊ฒŒ ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค๋Š” ์—”๋“œํฌ์ธํŠธ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” IP ์ฃผ์†Œ์™€ ํฌํŠธ์˜ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์„œ๋น„์Šค์—์„œ ์—”๋“œํฌ์ธํŠธ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ค๊ณ  ์—”๋“œํฌ์ธํŠธ ๊ฐ„์— ์š”์ฒญ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ Pod์— ๋Œ€ํ•œ ์˜๊ตฌ ์—ฐ๊ฒฐ์„ ์—ด๊ณ  ๋ผ์šด๋“œ ๋กœ๋นˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ ๊ฐ„์˜ ์š”์ฒญ ๊ท ํ˜•์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋‹ˆ๋ฉด ๋” ์‹ ์ฒญํ•˜์„ธ์š”. ๋ณต์žกํ•œ ๋ฐธ๋Ÿฐ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜.

๊ท ํ˜• ์กฐ์ •์„ ๋‹ด๋‹นํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์ธก ์ฝ”๋“œ๋Š” ๋‹ค์Œ ๋…ผ๋ฆฌ๋ฅผ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ์„œ๋น„์Šค์—์„œ ์—”๋“œํฌ์ธํŠธ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  2. ๊ฐ ๋์ ์— ๋Œ€ํ•ด ์˜๊ตฌ ์—ฐ๊ฒฐ์„ ์—ฝ๋‹ˆ๋‹ค.
  3. ์š”์ฒญ์„ ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ์—ด๋ ค ์žˆ๋Š” ์—ฐ๊ฒฐ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
  4. ๋์  ๋ชฉ๋ก์„ ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์ƒˆ ๋์ ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ๋ชฉ๋ก์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๊ธฐ์กด ์˜๊ตฌ ์—ฐ๊ฒฐ์„ ๋‹ซ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ์Šต์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  1. ์„œ๋น„์Šค์— ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ฒซ ๋ฒˆ์งธ Pod ๋Œ€์‹  ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์š”์ฒญ ๊ท ํ˜•์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  2. ์–ด๋–ค ํฌ๋“œ๊ฐ€ ์„œ๋น„์Šค์˜ ์ผ๋ถ€์ธ์ง€ ๋ฌป๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  3. ๋ชฉ๋ก์ด ์žˆ์œผ๋ฉด ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋“œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

  4. ๊ท€ํ•˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

์ด์ œ ์งˆ๋ฌธ์ด ์ƒ๊น๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” HTTP ์—ฐ๊ฒฐ ์œ ์ง€์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๊นŒ?

ํด๋ผ์ด์–ธํŠธ ์ธก ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

HTTP๋Š” ์ง€์†์ ์ธ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ํ”„๋กœํ† ์ฝœ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฌธ์„œ๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•  ๋•Œ๋งˆ๋‹ค TCP ์—ฐ๊ฒฐ์ด ์—ด๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 

๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์˜๊ตฌ TCP ์—ฐ๊ฒฐ์ด ์—ด๋ฆฌ๊ณ  ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ Kubernetes์— ๋ฐฐํฌ๋˜๊ณ  ์•ก์„ธ์Šค๊ฐ€ ์„œ๋น„์Šค๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ ์ด์ „ ์„น์…˜์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต์ œ๋ณธ์ด ๋‹ค๋ฅธ ๋ณต์ œ๋ณธ๋ณด๋‹ค ๋” ๋งŽ์ด ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. Kube-proxy์™€ Kubernetes๋Š” ์—ฐ๊ฒฐ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋”ฐ๋ผ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค๋ฅธ ์˜ต์…˜์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Node.js์—์„œ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํด๋Ÿฌ์Šคํ„ฐ์— ์•ก์„ธ์Šคํ•˜๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค.

var mysql = require('mysql');
var poolCluster = mysql.createPoolCluster();

var endpoints = /* retrieve endpoints from the Service */

for (var [index, endpoint] of endpoints) {
  poolCluster.add(`mysql-replica-${index}`, endpoint);
}

// Make queries to the clustered MySQL database

์˜๊ตฌ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ๋„ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • WebSocket ๋ฐ ๋ณด์•ˆ WebSocket
  • HTTP / 2
  • gRPC
  • R์†Œ์ผ“
  • AMQP

์—ฌ๋Ÿฌ๋ถ„์€ ์ด๋ฏธ ์ด๋Ÿฌํ•œ ํ”„๋กœํ† ์ฝœ์˜ ๋Œ€๋ถ€๋ถ„์„ ์ž˜ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ํ”„๋กœํ† ์ฝœ์ด ๊ทธ๋ ‡๊ฒŒ ์ธ๊ธฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ์™œ ํ‘œ์ค€ํ™”๋œ ๋ฐธ๋Ÿฐ์‹ฑ ์†”๋ฃจ์…˜์ด ์—†๋Š” ๊ฑธ๊นŒ์š”? ํด๋ผ์ด์–ธํŠธ ๋กœ์ง์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋„ค์ดํ‹ฐ๋ธŒ Kubernetes ์†”๋ฃจ์…˜์ด ์žˆ๋‚˜์š”?

Kube-proxy ๋ฐ iptables๋Š” Kubernetes์— ๋ฐฐํฌํ•  ๋•Œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋‹ค๋ฃจ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŽธ์˜๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

REST API๋ฅผ ๋…ธ์ถœํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์šด์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์˜๊ตฌ TCP ์—ฐ๊ฒฐ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋ชจ๋“  Kubernetes ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์˜๊ตฌ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๋ฐฑ์—”๋“œ ์ „์ฒด์— ๋กœ๋“œ๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. Kubernetes์—๋Š” ์ด ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ์†”๋ฃจ์…˜์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ™•์‹คํžˆ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ ๊ท ํ˜• ์กฐ์ •

Kubernetes์—๋Š” ๋„ค ๊ฐ€์ง€ ์œ ํ˜•์˜ ์„œ๋น„์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํด๋Ÿฌ์Šคํ„ฐIP
  2. ๋…ธ๋“œํฌํŠธ
  3. ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ
  4. ๋ชฉ์ด ์—†๋Š”

์ฒ˜์Œ ์„ธ ๊ฐ€์ง€ ์„œ๋น„์Šค๋Š” kube-proxy๊ฐ€ iptables ๊ทœ์น™์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ƒ IP ์ฃผ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ์„œ๋น„์Šค์˜ ๊ธฐ๋ณธ ๊ธฐ๋ฐ˜์€ ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค์—๋Š” ์—ฐ๊ฒฐ๋œ IP ์ฃผ์†Œ๊ฐ€ ์—†์œผ๋ฉฐ ์—ฐ๊ฒฐ๋œ ํฌ๋“œ(์—”๋“œํฌ์ธํŠธ)์˜ IP ์ฃผ์†Œ ๋ฐ ํฌํŠธ ๋ชฉ๋ก์„ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์„œ๋น„์Šค๋Š” Headless ์„œ๋น„์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

ClusterIP ์„œ๋น„์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. 

  1. ๊ด€๋ฆฌ ๊ณ„์ธต์€ ์—ฌ๊ธฐ์— IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  2. Kube-proxy๋Š” ํ•„์š”ํ•œ iptables ๊ทœ์น™์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด kube-proxy๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค์—์„œ ์–ป์€ ์—”๋“œํฌ์ธํŠธ ๋ชฉ๋ก์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌ๋œ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์œ ์‚ฌํ•œ ๋…ผ๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ด๋ฏธ ๋ฐฐํฌ๋œ ๊ฒฝ์šฐ ์ด ์ž‘์—…์ด ๋ถˆ๊ฐ€๋Šฅํ•ด ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€์ฒด ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๋ฉ”์‹œ๊ฐ€ ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค

์•„๋งˆ๋„ ํด๋ผ์ด์–ธํŠธ์ธก ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์ „๋žต์ด ์ƒ๋‹นํžˆ ํ‘œ์ค€์ ์ด๋ผ๋Š” ์ ์„ ์ด๋ฏธ ์•Œ๊ณ  ๊ณ„์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹œ์ž‘๋˜๋ฉด ๋‹ค์Œ์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

  1. ์„œ๋น„์Šค์—์„œ IP ์ฃผ์†Œ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  2. ์—ฐ๊ฒฐ ํ’€์„ ์—ด๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  3. ๋์ ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜์—ฌ ํ’€์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์š”์ฒญ์„ ํ•˜๊ณ  ๋‚˜๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ผ๋ถ€ ๋…ผ๋ฆฌ(์˜ˆ: ๋ผ์šด๋“œ ๋กœ๋นˆ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฐ๊ฒฐ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ์š”์ฒญ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋‹จ๊ณ„๋Š” WebSocket, gRPC ๋ฐ AMQP ์—ฐ๊ฒฐ ๋ชจ๋‘์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ๋…ผ๋ฆฌ๋ฅผ ๋ณ„๋„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Istio ๋˜๋Š” Linkerd์™€ ๊ฐ™์€ ์„œ๋น„์Šค ๋ฉ”์‹œ๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Service Mesh๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค.

  1. ์„œ๋น„์Šค IP ์ฃผ์†Œ๋ฅผ ์ž๋™์œผ๋กœ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  2. WebSocket ๋ฐ gRPC์™€ ๊ฐ™์€ ์—ฐ๊ฒฐ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์˜ฌ๋ฐ”๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์˜ ๊ท ํ˜•์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Service Mesh๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ํŠธ๋ž˜ํ”ฝ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์ง€๋งŒ ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์ ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ต์…˜์œผ๋กœ๋Š” Netflix Ribbon๊ณผ ๊ฐ™์€ ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ Envoy์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ท ํ˜• ๋ฌธ์ œ๋ฅผ ๋ฌด์‹œํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์„ ํƒํ•ด๋„ ์—ฌ์ „ํžˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ž‘์—… ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ณด๋‹ค ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋” ๋งŽ๋‹ค๋ฉด ์ด๋Š” ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜๋Š” ๋‹ค์„ฏ ๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ท ํ˜• ์กฐ์ •์ด ์—†๋”๋ผ๋„ ๋‘ ์„œ๋ฒ„๊ฐ€ ๋ชจ๋‘ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

์—ฐ๊ฒฐ์ด ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„๋ฐฐ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. XNUMX๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋™์ผํ•œ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‘ ์„œ๋ฒ„๊ฐ€ ๋ชจ๋‘ ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

๋” ๋ฌธ์ œ๋Š” ๋ฐ˜๋Œ€ ์ƒํ™ฉ์ด๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ˆ˜๊ฐ€ ์ ๊ณ  ์„œ๋ฒ„ ์ˆ˜๊ฐ€ ๋งŽ์œผ๋ฉด ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋„๊ฐ€ ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž ์žฌ์ ์ธ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ์™€ ๋‹ค์„ฏ ๊ฐœ์˜ ์„œ๋ฒ„๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ข‹์€ ๊ฒฝ์šฐ์—๋Š” XNUMX๊ฐœ์˜ ์„œ๋ฒ„ ์ค‘ XNUMX๊ฐœ์˜ ์„œ๋ฒ„์— ๋Œ€ํ•œ XNUMX๊ฐœ์˜ ์˜๊ตฌ ์—ฐ๊ฒฐ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋จธ์ง€ ์„œ๋ฒ„๋Š” ์œ ํœด ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Kubernetes์—์„œ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ํ™•์žฅ

์ด ๋‘ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ˆ˜ํ‰์  ํ™•์žฅ์€ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

Kubernetes ์„œ๋น„์Šค๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํ‘œ์ค€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, gRPC ๋˜๋Š” WebSocket๊ณผ ๊ฐ™์€ ์˜๊ตฌ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ๋กœ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋ฉด ์„œ๋น„์Šค๊ฐ€ ๋” ์ด์ƒ ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Kubernetes๋Š” ์˜๊ตฌ TCP ์—ฐ๊ฒฐ์˜ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด๋ถ€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋Š” ํด๋ผ์ด์–ธํŠธ์ธก ๊ท ํ˜•์„ ์—ผ๋‘์— ๋‘๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํŒ€์—์„œ ์ค€๋น„ํ•œ ๋ฒˆ์—ญ Mail.ru์˜ Kubernetes aaS.

์ฃผ์ œ์— ๋Œ€ํ•ด ๋” ์ฝ์„ ๋‚ด์šฉ:

  1. Kubernetes์˜ ์„ธ ๊ฐ€์ง€ ์ˆ˜์ค€์˜ ์ž๋™ ํ™•์žฅ ๋ฐ ์ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  2. ๊ตฌํ˜„์„ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ์„ ๊ฐ–์ถ˜ ๋ถˆ๋ฒ• ๋ณต์ œ ์ •์‹ ์˜ Kubernetes.
  3. ๋””์ง€ํ„ธ ํ˜์‹ ์— ๊ด€ํ•œ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€