Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.

2016๋…„์œผ๋กœ ๋Œ์•„๊ฐ€์„œ, ์šฐ๋ฆฌ๋Š” Buffer์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋กœ ์ „ํ™˜, ๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ์€ ์•ฝ 60๊ฐœ์˜ ๋…ธ๋“œ(AWS์—์„œ)์™€ 1500๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์šฐ๋ฆฌ์˜ k8s ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ œ์–ด ํ•˜์— ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝฅ. ํ•˜์ง€๋งŒ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฑฐ์น˜๋ฉฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋กœ ์ „ํ™˜ํ–ˆ๊ณ , k8s๋ฅผ ์‚ฌ์šฉํ•œ ์ง€ ๋ช‡ ๋…„์ด ์ง€๋‚ฌ์ง€๋งŒ ์—ฌ์ „ํžˆ ์šฐ๋ฆฌ ์Šค์Šค๋กœ ์ƒˆ๋กœ์šด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ๋‹ค์Œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์„œ ์ œํ•œ: ์™œ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ๋“ค์ด ์ข‹์€ ๊ด€ํ–‰์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์™œ ๊ทธ๊ฒƒ๋“ค์ด ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ๋Š”์ง€.

ํ”„๋กœ์„ธ์„œ ์ œํ•œ ๋ฐ ์กฐ์ ˆ

๋‹ค๋ฅธ ๋งŽ์€ Kubernetes ์‚ฌ์šฉ์ž์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Google์—์„œ๋Š” ํ”„๋กœ์„ธ์„œ ํ•œ๋„ ๊ตฌ์„ฑ์„ ์ ๊ทน ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.. ์ด๋Ÿฌํ•œ ์„ค์ •์ด ์—†์œผ๋ฉด ๋…ธ๋“œ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ ์ „์›์„ ์ฐจ์ง€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋กœ ์ธํ•ด ์ค‘์š”ํ•œ Kubernetes ํ”„๋กœ์„ธ์Šค(์˜ˆ: kubelet)๋Š” ๋” ์ด์ƒ ์š”์ฒญ์— ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ CPU ์ œํ•œ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๋…ธ๋“œ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

CPU ์ œํ•œ์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ง€์ •๋œ ๊ธฐ๊ฐ„ ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ CPU ์‹œ๊ฐ„์„ ์ง€์ •ํ•˜๋ฉฐ(๊ธฐ๋ณธ๊ฐ’์€ 100ms), ์ปจํ…Œ์ด๋„ˆ๋Š” ์ด ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Kubernetes์—์„œ ์กฐ์ ˆ ์šฉ๊ธฐ์— ๋‹ด์•„ ํ•œ๊ณ„๋ฅผ ๋„˜์ง€ ์•Š๋„๋ก ํŠน์ˆ˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. CFS ํ• ๋‹น๋Ÿ‰ํ•˜์ง€๋งŒ ๊ถ๊ทน์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ธ์œ„์ ์ธ CPU ์ œํ•œ์€ ์ปจํ…Œ์ด๋„ˆ์˜ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ค๊ณ  ์‘๋‹ต ์‹œ๊ฐ„์„ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์„œ ํ•œ๋„๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‚˜์š”?

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

์Šค๋กœํ‹€๋ง ๋ฐ ์‘๋‹ต ๋ฌธ์ œ์˜ ํ‘œํ˜„

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

Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.

์•„๋ž˜์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์šฐ๋ฆฌ๋Š” ํ•œ๊ณ„๋ฅผ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. 800m (์ฝ”์–ด์˜ 0.8 ๋˜๋Š” 80%), ๊ทธ๋ฆฌ๊ณ  ์ตœ์ƒ์˜ ๋„๋‹ฌ ๋ฒ”์œ„์—์„œ์˜ ํ”ผํฌ ๊ฐ’ 200m (ํ•ต์‹ฌ์˜ 20%) ํ•˜์ง€๋งŒ ์„œ๋น„์Šค ์ œํ•œ์ด ์ ์šฉ๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” ํ”„๋กœ์„ธ์„œ ์„ฑ๋Šฅ์ด ์—ฌ์ „ํžˆ ์ถฉ๋ถ„ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.
ํ”„๋กœ์„ธ์„œ ๋ถ€ํ•˜๊ฐ€ ์ง€์ •๋œ ํ•œ๋„๋ณด๋‹ค ํ›จ์”ฌ ๋‚ฎ๋”๋ผ๋„ ์—ฌ์ „ํžˆ ์†๋„ ์กฐ์ ˆ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์— ์ง๋ฉดํ•˜์—ฌ ์šฐ๋ฆฌ๋Š” ๊ณง ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž์›์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.github์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์š”, ์ž๋‹ค๋…ธ์— ๋Œ€ํ•œ ํ”„๋ ˆ์  ํ…Œ์ด์…˜, omio์— ๊ฒŒ์‹œํ•˜๋‹ค) ์ œํ•œ์œผ๋กœ ์ธํ•ด ์„œ๋น„์Šค์˜ ์„ฑ๋Šฅ๊ณผ ์‘๋‹ต ์‹œ๊ฐ„์ด ์ €ํ•˜๋˜๋Š” ํ˜„์ƒ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

CPU ๋ถ€ํ•˜๊ฐ€ ๋‚ฎ์„ ๋•Œ ์†๋„ ์กฐ์ ˆ์ด ๋‚˜ํƒ€๋‚˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ฐ„๋žตํžˆ ๋งํ•˜์ž๋ฉด, "ํ•ต์‹ฌ์— ์žˆ์–ด์„œ" Linux "ํŠน์ • CPU ์ œํ•œ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•ด ๋ถˆํ•„์š”ํ•œ ์Šค๋กœํ‹€๋ง์„ ์œ ๋ฐœํ•˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค." ๋ฌธ์ œ์˜ ๋ณธ์งˆ์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋ฉด ํ”„๋ ˆ์  ํ…Œ์ด์…˜์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”.๋น„๋””์˜ค ะธ ํ…์ŠคํŠธ (๋ณ€ํ˜•) ๋ฐ์ด๋ธŒ ์น ๋ฃฉ์˜ ์ž‘ํ’ˆ์ž…๋‹ˆ๋‹ค.

CPU ์ œํ•œ ์ œ๊ฑฐ(๋งค์šฐ ์‹ ์ค‘ํ•˜๊ฒŒ)

์˜ค๋žœ ๋…ผ์˜ ๋์—, ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž์˜ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์— ์ง๊ฐ„์ ‘์ ์œผ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ชจ๋“  ์„œ๋น„์Šค์—์„œ ํ”„๋กœ์„ธ์„œ ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.
๊ธด๊ธ‰ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์„œ์‹ .

์ œํ•œ์ด ํ•ด์ œ๋˜๋ฉด ๋…ธ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณดํ˜ธํ•˜๋‚˜์š”?

"์ œํ•œ ์—†๋Š”" ์„œ๋น„์Šค ๋ถ„๋ฆฌ:

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

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

Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.

์˜ฌ๋ฐ”๋ฅธ ํ”„๋กœ์„ธ์„œ์™€ ๋ฉ”๋ชจ๋ฆฌ ์š”์ฒญ ํ• ๋‹น:

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

Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜ํ”„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ํ”„๋กœ์„ธ์„œ์˜ ์ตœ๋Œ€ ๋ถ€ํ•˜๊ฐ€ ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. 242m CPU ์ฝ”์–ด(0.242 ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด). ํ”„๋กœ์„ธ์„œ ์š”์ฒญ์˜ ๊ฒฝ์šฐ, ์ด ๊ฐ’๋ณด๋‹ค ์•ฝ๊ฐ„ ํฐ ์ˆซ์ž๋ฅผ ์ทจํ•˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ์„œ๋น„์Šค๋Š” ์ด์šฉ์ž ์ค‘์‹ฌ์ด๋ฏ€๋กœ, ์ตœ๋Œ€ ๋ถ€ํ•˜ ๊ฐ’์€ ํŠธ๋ž˜ํ”ฝ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์ฟผ๋ฆฌ์—๋„ ๊ฐ™์€ ์ž‘์—…์„ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์„ค์ •์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค! ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋ ค๋ฉด ์ˆ˜ํ‰์  ํฌ๋“œ ์ž๋™ ํ™•์žฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฆฌ์†Œ์Šค ๋ถ€ํ•˜๊ฐ€ ๋†’์„ ๋•Œ๋งˆ๋‹ค ์ž๋™ ํฌ๊ธฐ ์กฐ์ •์ด ์ƒˆ๋กœ์šด Pod๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ์ด๋ฅผ ์—ฌ์œ  ๊ณต๊ฐ„์ด ์žˆ๋Š” ๋…ธ๋“œ์— ๋ถ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์ž์ฒด์— ๋‚จ์€ ๊ณต๊ฐ„์ด ์—†๋Š” ๊ฒฝ์šฐ ์•Œ๋ฆผ์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์ž๋™ ํฌ๊ธฐ ์กฐ์ •์„ ํ†ตํ•ด ์ƒˆ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋„๋ก ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ ์œผ๋กœ๋Š” ์šฐ๋ฆฌ๊ฐ€ "์—์„œ ์กŒ๋‹ค๋Š” ์ ์„ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.์ปจํ…Œ์ด๋„ˆ ๋ฐ€๋„", ์ฆ‰ ํ•œ ๋…ธ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ ๋ฐ€๋„๊ฐ€ ๋‚ฎ์œผ๋ฉด "ํœด์‹"์ด ๋งŽ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, CPU ๋ถ€ํ•˜๊ฐ€ ๋†’์•„์งˆ ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ์ง€๋งŒ, ๋…ธ๋“œ ์ž๋™ ํ™•์žฅ์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์กฐ์‚ฌ ๊ฒฐ๊ณผ

์ง€๋‚œ ๋ช‡ ์ฃผ ๋™์•ˆ์˜ ์‹คํ—˜์„ ํ†ตํ•ด ์–ป์€ ํ›Œ๋ฅญํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐœํ‘œํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์ˆ˜์ •๋œ ๋ชจ๋“  ์„œ๋น„์Šค์—์„œ ๋ฐ˜์‘์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋œ ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฉ”์ธ ํŽ˜์ด์ง€์—์„œ ๊ฐ€์žฅ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.buffer.com), ์„œ๋น„์Šค๊ฐ€ ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค 22๋ฒˆ!

Kubernetes: CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„œ๋น„์Šค ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.

์ปค๋„ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๊นŒ? Linux?

์˜ˆ ๋ฒ„๊ทธ๋Š” ์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ๊ณ  ์ˆ˜์ • ์‚ฌํ•ญ์€ ์ปค๋„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌํŒ ๋ฒ„์ „ 4.19 ์ด์ƒ.

๊ทธ๋Ÿฌ๋‚˜ ์ฝ์„ ๋•Œ github์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ด์Šˆ 2020๋…„ XNUMX์›” XNUMX์ผ ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๊ทธ๋Ÿฌํ•œ ์–ธ๊ธ‰๋“ค์„ ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Linux-๋น„์Šทํ•œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋“ค. ์ผ๋ถ€ ๋ฐฐํฌํŒ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Linux ์ด ์˜ค๋ฅ˜๋Š” ์—ฌ์ „ํžˆ ์กด์žฌํ•˜๋ฉฐ ํ˜„์žฌ ์ˆ˜์ • ์ž‘์—…์ด ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

๋ฐฐํฌํŒ ๋ฒ„์ „์ด 4.19 ์ด์ „์ธ ๊ฒฝ์šฐ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ, CPU ์ œํ•œ์„ ํ•ด์ œํ•˜๊ณ  ์Šค๋กœํ‹€๋ง์ด ์ง€์†๋˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” Kubernetes ๊ด€๋ฆฌ ์„œ๋น„์Šค์˜ ์ผ๋ถ€ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. Linux ๋ถ„ํฌ:

  • Debianํ•ด๋‹น ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋ฐฐํฌํŒ์˜ ์ตœ์‹  ๋ฒ„์ „์— ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์Šคํ„ฐ, ๊ทธ๋ฆฌ๊ณ  ๊ฝค ์‹ ์„ ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค (์˜ฌํ•ด์˜ 8 ์›” 2020). ์ผ๋ถ€ ์ด์ „ ๋ฒ„์ „๋„ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Ubuntu: ์ตœ์‹  ๋ฒ„์ „์— ์ˆ˜์ • ์‚ฌํ•ญ์ด ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Ubuntu ํฌ์ปฌ ํฌ์‚ฌ 20.04
  • EKS๋Š” ๋˜ ๋‹ค๋ฅธ ์ˆ˜์ • ์‚ฌํ•ญ์„ ํš๋“ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ฌํ•ด์˜ 12 ์›” 2019. ๊ท€ํ•˜์˜ ๋ฒ„์ „์ด ์ด๋ณด๋‹ค ๋‚ฎ์œผ๋ฉด AMI๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝฅ์Šค: 2020๋…„ XNUMX์›”๋ถ€ํ„ฐ ัƒ kops 1.18+ ๋ฉ”์ธ ํ˜ธ์ŠคํŠธ ์ด๋ฏธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. Ubuntu 4์›” 20์ผ. Kops ๋ฒ„์ „์ด ์˜ค๋ž˜๋œ ๊ฒฝ์šฐ, ์ˆ˜์ • ํŒจ์น˜๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋„ ํ˜„์žฌ ์ˆ˜์ • ํŒจ์น˜๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • GKE(Google Cloud): ํ†ตํ•ฉ ์ˆ˜์ • 2020๋…„ XNUMX์›”๊ทธ๋Ÿฌ๋‚˜ ์กฐ์ ˆ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง๋„ ๊ด€์ฐฐ๋˜๊ณ  ์žˆ๋‹ค.

ํ•ด๋‹น ์ˆ˜์ •์œผ๋กœ ์†๋„ ์กฐ์ ˆ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ์ปค๋„ ๋ฒ„์ „์ด ๋‚˜์˜ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๊ฒŒ์‹œ๋ฌผ์„ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜์‹  ๋ถ„์ด ๊ณ„์‹œ๋‹ค๋ฉด, ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

  • Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”. Linux (Kubernetes, Mesos, Swarm ๋“ฑ ์–ด๋–ค ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋“ ) ์ปจํ…Œ์ด๋„ˆ๋Š” ์Šค๋กœํ‹€๋ง์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฒ„๊ทธ๊ฐ€ ์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐ ๋ฐฐํฌํŒ์˜ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด๋ณด์„ธ์š”.
  • ํ”„๋กœ์„ธ์„œ ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€๋งŒ, ์ด๋Š” ๋งค์šฐ ์œ„ํ—˜ํ•œ ๊ธฐ์ˆ ์ด์–ด์„œ ๋งค์šฐ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๋จผ์ € ์ปค๋„์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค).
  • CPU ์ œํ•œ์„ ์ œ๊ฑฐํ•œ ๊ฒฝ์šฐ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  CPU ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ์†Œ๋ชจ๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
  • ์•ˆ์ „ํ•œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋Š” ํ•˜๋“œ์›จ์–ด ๋ถ€ํ•˜๊ฐ€ ๋†’์„ ๋•Œ ์ƒˆ๋กœ์šด Pod๋ฅผ ์ƒ์„ฑํ•˜์—ฌ Pod์˜ ํฌ๊ธฐ๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ์ด๋ฅผ ์—ฌ์œ  ๋…ธ๋“œ์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธ€์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์ปจํ…Œ์ด๋„ˆ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

PS ์—ฌ๊ธฐ์— ์ €์ž๋Š” ๋…์ž ๋ฐ ํ‰๋ก ๊ฐ€๋“ค๊ณผ ์˜์–ด๋กœ ์„œ์‹ ์„ ์ฃผ๊ณ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster