Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•

Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•

๋ฉ”๋ชจ. ๋ฒˆ์—ญ: Dailymotion์€ ์„ธ๊ณ„ ์ตœ๋Œ€์˜ ๋น„๋””์˜ค ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์ด๋ฏ€๋กœ ์ฃผ๋ชฉํ• ๋งŒํ•œ Kubernetes ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค. ์ด ์ž๋ฃŒ์—์„œ ์‹œ์Šคํ…œ ์„ค๊ณ„์ž David Donchez๋Š” GKE์˜ ํด๋ผ์šฐ๋“œ ์„ค์น˜๋กœ ์‹œ์ž‘ํ•˜์—ฌ ์‘๋‹ต ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ์ธํ”„๋ผ ๋น„์šฉ์„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์†”๋ฃจ์…˜์œผ๋กœ ๋๋‚œ K8s๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํšŒ์‚ฌ์˜ ํ”„๋กœ๋•์…˜ ํ”Œ๋žซํผ์„ ๋งŒ๋“  ๊ฒฐ๊ณผ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ API ์žฌ๊ตฌ์ถ• ๊ฒฐ์ • Dailymotion XNUMX๋…„ ์ „, ์šฐ๋ฆฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ˜ธ์ŠคํŒ…ํ•˜๊ณ  ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ณด๋‹ค ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋ฐ ์ƒ์‚ฐ ๊ณผ์ •. ์ด๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Kubernetes๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž์ฒด ํ”Œ๋žซํผ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ์™œ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

Google Cloud๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฆ‰์‹œ ํ”„๋กœ๋•์…˜ ์ˆ˜์ค€ API ์ œ๊ณต

2016๋…„ ์—ฌ๋ฆ„

XNUMX๋…„ ์ „ ๋ฐ์ผ๋ฆฌ๋ชจ์…˜์„ ์ธ์ˆ˜ํ•œ ์งํ›„ ๋น„๋ฒค๋””, ์šฐ๋ฆฌ ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์€ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด Dailymotion ์ œํ’ˆ์„ ๋งŒ๋“œ๋Š” ํ•˜๋‚˜์˜ ๊ธ€๋กœ๋ฒŒ ๋ชฉํ‘œ์— ์ง‘์ค‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ, ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์†”๋ฃจ์…˜ ๋ฐ ๊ณผ๊ฑฐ ๊ฒฝํ—˜์— ๋Œ€ํ•œ ๋ถ„์„์„ ๋ฐ”ํƒ•์œผ๋กœ ์šฐ๋ฆฌ๋Š” Kubernetes๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๊ฐœ๋ฐœ์ž๋Š” ์ด๋ฏธ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋Š” ์ธํ”„๋ผ ์ „ํ™˜์— ํฐ ์ด์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ธํ”„๋ผ ๊ด€์ ์—์„œ ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ˜ธ์ŠคํŒ…ํ•˜๋ ค๋ฉด ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ ์‹œ์Šคํ…œ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งˆ์Œ์˜ ํ‰ํ™”๋ฅผ ๊ฐ–๊ณ  ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ”Œ๋žซํผ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ์ • ์ดˆ๊ธฐ์— ํด๋ผ์šฐ๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์กฐ๋งŒ๊ฐ„ ์ž์ฒด ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋กœ ์ด๋™ํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ „๋žต์„ ์ ์šฉํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ Google Kubernetes Engine์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

GKE๋ฅผ ์„ ํƒํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์šฐ๋ฆฌ๋Š” ์ฃผ๋กœ ๊ธฐ์ˆ ์ ์ธ ์ด์œ ๋กœ ์ด๋Ÿฌํ•œ ์„ ํƒ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํšŒ์‚ฌ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ์ธํ”„๋ผ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ œ๊ณตํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๋ฆฌ์  ๋ถ„์‚ฐ, ํ™•์žฅ์„ฑ, ๋‚ด๊ฒฐํ•จ์„ฑ ๋“ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ˜ธ์ŠคํŒ…์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•
Dailymotion์˜ GKE ํด๋Ÿฌ์Šคํ„ฐ

Dailymotion์€ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋น„๋””์˜ค ํ”Œ๋žซํผ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ค„์—ฌ ์„œ๋น„์Šค ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. (์ˆจ์–ด ์žˆ์Œ). ์ด์ „์— ์šฐ๋ฆฌ์˜ API ํŒŒ๋ฆฌ์—์„œ๋งŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋Š” ์ฐจ์„ ์ฑ…์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์œ ๋Ÿฝ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์•„์‹œ์•„์™€ ๋ฏธ๊ตญ์—์„œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ˜ธ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์›ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๊ธฐ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ด๋Ÿฌํ•œ ๋ฏผ๊ฐ์„ฑ์€ ํ”Œ๋žซํผ์˜ ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜์—์„œ ์‹ฌ๊ฐํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์—์„œ๋Š” ๊ฐ ์ง€์—ญ์— ์ž์ฒด ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ VPN์ด๋‚˜ โ€‹โ€‹์ผ์ข…์˜ ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•ด์•ผ ํ–ˆ์ง€๋งŒ, Google Cloud๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  Google ์ง€์—ญ์„ ํฌ๊ด„ํ•˜๋Š” ์™„์ „ํžˆ ๋ผ์šฐํŒ… ๊ฐ€๋Šฅํ•œ ๋‹จ์ผ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹œ์Šคํ…œ์˜ ์šด์˜ ๋ฐ ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ ํฐ ์žฅ์ ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ Google Cloud์˜ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋„ ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ ์ง€์—ญ์˜ ์ž„์˜ ๊ณต์šฉ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ›Œ๋ฅญํ•œ BGP ํ”„๋กœํ† ์ฝœ์ด ๋‚˜๋จธ์ง€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฆฌ๋””๋ ‰์…˜). ๋ถ„๋ช…ํžˆ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ํŠธ๋ž˜ํ”ฝ์€ ์‚ฌ๋žŒ์˜ ๊ฐœ์ž… ์—†์ด ์ž๋™์œผ๋กœ ๋‹ค๋ฅธ ์ง€์—ญ์œผ๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค.

Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•
Google ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

์šฐ๋ฆฌ ํ”Œ๋žซํผ์€ ๋˜ํ•œ GPU๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Google Cloud๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ง์ ‘ ๋งค์šฐ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹œ ์ธํ”„๋ผ ํŒ€์€ ์ฃผ๋กœ ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„์— ๋ฐฐํฌ๋œ ๋ ˆ๊ฑฐ์‹œ ์Šคํƒ์— ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค(Kubernetes ๋งˆ์Šคํ„ฐ ํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ณ  ํŒ€์ด ๋กœ์ปฌ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ต์œกํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ด์œ ์ž…๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ, ์ž‘์—… ์‹œ์ž‘ ํ›„ ๋ถˆ๊ณผ 6๊ฐœ์›” ๋งŒ์— Google Cloud ์ธํ”„๋ผ์—์„œ ํ”„๋กœ๋•์…˜ ํŠธ๋ž˜ํ”ฝ ์ˆ˜์‹ ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋กœ์ปฌ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ Dailymotion ์ถœ์‹œ

2016๋…„ ๊ฐ€์„

์ „์ฒด ์Šคํƒ์ด ํ”„๋กœ๋•์…˜ ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๊ณ  API ์ž‘์—…์„ ํ•˜๋Š” ์กฐ๊ฑด์—์„œ ๊ณ„์† ๊ฐ”๋‹ค, ์ด์ œ๋Š” ์ง€์—ญ ํด๋Ÿฌ์Šคํ„ฐ์— ์ง‘์ค‘ํ•  ๋•Œ์˜€์Šต๋‹ˆ๋‹ค.

๋‹น์‹œ ์‚ฌ์šฉ์ž๋“ค์€ ๋งค๋‹ฌ 3์–ต ๊ฐœ ์ด์ƒ์˜ ๋™์˜์ƒ์„ ์‹œ์ฒญํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์šฐ๋ฆฌ๋Š” ์ˆ˜๋…„ ๋™์•ˆ ์ž์ฒด์ ์ธ ๊ด‘๋ฒ”์œ„ํ•œ ์ฝ˜ํ…์ธ  ์ „๋‹ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณด์œ ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ํ™œ์šฉํ•˜๊ณ  ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

Dailymotion์˜ ์ธํ”„๋ผ๋Š” 2,5๊ฐœ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— XNUMX๊ฐœ ์ด์ƒ์˜ ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ Saltstack์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งˆ์Šคํ„ฐ ๋ฐ ์›Œ์ปค ๋…ธ๋“œ๋Š” ๋ฌผ๋ก  etcd ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๋ ˆ์‹œํ”ผ๋ฅผ ์ค€๋น„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•

๋„คํŠธ์›Œํฌ ๋ถ€๋ถ„

์šฐ๋ฆฌ ๋„คํŠธ์›Œํฌ๋Š” ์™„์ „ํžˆ ๋ผ์šฐํŒ…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์„œ๋ฒ„๋Š” Exabgp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์— ์ž์‹ ์˜ IP๋ฅผ ๊ด‘๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋น„๊ตํ–ˆ์œผ๋ฉฐ (์‚ฌ์šฉ๋œ L3 ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ์ธํ•ด) ๋ชจ๋“  ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ์œ ์ผํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ฅ์–‘๋ชฉ. ์ด๋Š” ๊ธฐ์กด ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ ๋ชจ๋ธ์— ์™„๋ฒฝํ•˜๊ฒŒ ๋“ค์–ด๋งž์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ธํ”„๋ผ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผ ํ•  ์ผ์€ ์ž์ฒด ๊ฐœ๋ฐœํ•œ ๋„คํŠธ์›Œํฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ(๋ชจ๋“  ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ๋จ)๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Kubernetes ๋…ธ๋“œ๊ฐ€ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ์—์„œ IP ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ๊ด‘๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. Calico๊ฐ€ IP ์ฃผ์†Œ๋ฅผ ํฌ๋“œ์— ํ• ๋‹นํ•˜๋„๋ก ํ—ˆ์šฉํ–ˆ์ง€๋งŒ ๋„คํŠธ์›Œํฌ ์žฅ๋น„์˜ BGP ์„ธ์…˜์—๋Š” ์ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์—ฌ์ „ํžˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ผ์šฐํŒ…์€ Calico์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธŒ๋„ท์„ ์•Œ๋ฆฌ๋Š” Exabgp์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ(ํŠนํžˆ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ)์—์„œ ๋ชจ๋“  ํฌ๋“œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์‹  ํŠธ๋ž˜ํ”ฝ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ์›ํ•˜๋Š” ์„œ๋น„์Šค๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๊ธฐ ์œ„ํ•ด Kubernetes ์ˆ˜์‹  ๋ฆฌ์†Œ์Šค์™€์˜ ํ†ตํ•ฉ์œผ๋กœ ์ธํ•ด Ingress Controller๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

XNUMX๋…„ ์ „, nginx-ingress-controller๋Š” ๊ฐ€์žฅ ์„ฑ์ˆ™ํ•œ ์ปจํŠธ๋กค๋Ÿฌ์˜€์Šต๋‹ˆ๋‹ค. Nginx๋Š” ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์–ด ์™”์œผ๋ฉฐ ์•ˆ์ •์„ฑ๊ณผ ์„ฑ๋Šฅ์œผ๋กœ ์œ ๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ „์šฉ 10๊ธฐ๊ฐ€๋น„ํŠธ ๋ธ”๋ ˆ์ด๋“œ ์„œ๋ฒ„์— ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋ฐฐ์น˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ํ•ด๋‹น ํด๋Ÿฌ์Šคํ„ฐ์˜ kube-apiserver ์—”๋“œํฌ์ธํŠธ์— ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ์„œ๋ฒ„๋Š” Exabgp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์šฉ ๋˜๋Š” ๊ฐœ์ธ IP ์ฃผ์†Œ๋ฅผ ๊ด‘๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์ปจํŠธ๋กค๋Ÿฌ์˜ BGP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ NodePort์™€ ๊ฐ™์€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ํฌ๋“œ๋กœ ์ง์ ‘ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋…ธ๋“œ ๊ฐ„์˜ ์ˆ˜ํ‰ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•
์ธํ„ฐ๋„ท์—์„œ ํฌ๋“œ๋กœ์˜ ํŠธ๋ž˜ํ”ฝ ์ด๋™

์ด์ œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ”Œ๋žซํผ์„ ์ดํ•ดํ–ˆ์œผ๋ฏ€๋กœ ํŠธ๋ž˜ํ”ฝ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ”„๋กœ์„ธ์Šค ์ž์ฒด์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google Cloud์—์„œ Dailymotion ์ธํ”„๋ผ๋กœ ํŠธ๋ž˜ํ”ฝ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

2018๋…„ ๊ฐ€์„

๊ฑฐ์˜ XNUMX๋…„๊ฐ„์˜ ๊ตฌ์ถ•, ํ…Œ์ŠคํŠธ, ์กฐ์ • ๋์— ๋งˆ์นจ๋‚ด ์ผ๋ถ€ ํŠธ๋ž˜ํ”ฝ์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ „์ฒด Kubernetes ์Šคํƒ์ด ์™„์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•

ํ˜„์žฌ ๋ผ์šฐํŒ… ์ „๋žต์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ IP(Google Cloud ๋ฐ Dailymotion) ์™ธ์—๋„ AWS Route 53์€ ์ •์ฑ…์„ ์„ค์ •ํ•˜๊ณ  ์‚ฌ์šฉ์ž๋ฅผ ์„ ํƒํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Kubernetes ๋ชจํ—˜ Dailymotion: ํด๋ผ์šฐ๋“œ + ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ธํ”„๋ผ ๊ตฌ์ถ•
Route 53์„ ์‚ฌ์šฉํ•œ ๋ผ์šฐํŒ… ์ •์ฑ… ์˜ˆ์‹œ

Google Cloud๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋‹จ์ผ IP๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด GKE ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋˜๋ฏ€๋กœ ์ด ์ž‘์—…์ด ์‰ฝ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ IP๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์ˆ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค‘์— ์ง€์—ญ ์š”์ฒญ์„ ์ ์ ˆํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๊ณ  ์ด ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ด์ ์„ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

GKE ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ปค์Šคํ…€ ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ํ™•์žฅ๋˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ˆ˜์‹  ํŠธ๋ž˜ํ”ฝ์— ๋”ฐ๋ผ ํ™•์žฅ/์ถ•์†Œ๋ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ๋ชจ๋“œ์—์„œ๋Š” ๋ชจ๋“  ์ง€์—ญ ํŠธ๋ž˜ํ”ฝ์ด ๋กœ์ปฌ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ „๋‹ฌ๋˜๊ณ  GKE๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ์˜ˆ๋น„ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค(์ƒํƒœ ํ™•์ธ์€ Route 53์—์„œ ์ˆ˜ํ–‰๋จ).

...

์•ž์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋ผ์šฐํŒ… ์ •์ฑ…์„ ์™„์ „ํžˆ ์ž๋™ํ™”ํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์ ‘๊ทผ์„ฑ์„ ์ง€์†์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์ž์œจ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ „๋žต์„ ๋‹ฌ์„ฑํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ธ์ •์ ์ธ ์ธก๋ฉด์œผ๋กœ๋Š” ํด๋ผ์šฐ๋“œ ๋น„์šฉ์ด ํฌ๊ฒŒ ๊ฐ์†Œํ•˜๊ณ  API ์‘๋‹ต ์‹œ๊ฐ„๋„ ๋‹จ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฒฐ๊ณผ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์‹ ๋ขฐํ•˜๋ฉฐ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋” ๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์„ ํ•ด๋‹น ํ”Œ๋žซํผ์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒˆ์—ญ๊ฐ€์˜ ์ถ”์‹ 

Kubernetes์— ๊ด€ํ•œ ๋˜ ๋‹ค๋ฅธ ์ตœ๊ทผ Dailymotion ๊ฒŒ์‹œ๋ฌผ์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ Helm์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ์ „๋…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ฝ ์ผ ๊ฐœ์›” ์ „.

๋ธ”๋กœ๊ทธ์—์„œ๋„ ์ฝ์–ด๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

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