Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”

์—ฐํœด๊ฐ€ ๋๋‚˜๊ณ  Istio Service Mesh ์‹œ๋ฆฌ์ฆˆ์˜ ๋‘ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ๋กœ ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”

์˜ค๋Š˜์˜ ์ฃผ์ œ๋Š” ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ(Circuit Breaker)์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋Ÿฌ์‹œ์•„ ์ „๊ธฐ ๊ณตํ•™์—์„œ "ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ"๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ "ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ"๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Istio์—์„œ๋งŒ ์ด ๋จธ์‹ ์€ ๋‹จ๋ฝ๋˜๊ฑฐ๋‚˜ ๊ณผ๋ถ€ํ•˜๋œ ํšŒ๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์—ฐ๊ฒฐ์„ ๋Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ด์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹

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

์šฐ๋ฆฌ๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์ž‘๊ณ  ์ผ์‹œ์ ์ด๋ผ๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚˜ํƒ€๋‚˜๊ณ  ์‚ฌ๋ผ์ง€๋Š” ์šฉ์ดํ•จ์„ ๋œปํ•˜๋Š” ๋ง์—†์Œ์€ ์ข…์ข… ๊ณผ์†Œํ‰๊ฐ€๋˜๊ธฐ๋„ ํ•œ๋‹ค. Pod์—์„œ ๋˜ ๋‹ค๋ฅธ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค์˜ ํƒ„์ƒ๊ณผ ์†Œ๋ฉธ์€ ์ƒ๋‹นํžˆ ์˜ˆ์ƒ๋˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค. OpenShift์™€ Kubernetes๋Š” ์ด๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•˜๋ฉฐ ๋ชจ๋“  ๊ฒƒ์ด ํ›Œ๋ฅญํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ ์ด๋ก ์ƒ์œผ๋กœ๋Š” ๋‹ค์‹œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ์ž‘๋™ ๋ฐฉ์‹

์ด์ œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ํŠน์ • ์ธ์Šคํ„ด์Šค, ์ฆ‰ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค. ์‘๋‹ตํ•˜์ง€ ์•Š๊ฑฐ๋‚˜(์˜ค๋ฅ˜ 503), ๋” ๋ถˆ์พŒํ•œ ๊ฒƒ์€ ์‘๋‹ตํ•˜์ง€๋งŒ ๋„ˆ๋ฌด ๋Š๋ฆฝ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฒฐํ•จ์ด ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์š”์ฒญ์— ์‘๋‹ตํ•˜์ง€ ์•Š์ง€๋งŒ ํ’€์—์„œ ์ž๋™์œผ๋กœ ์ œ๊ฑฐ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋‹ค์‹œ ์‹œ๋„ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋ผ์šฐํŒ… ๊ตฌ์„ฑํ‘œ์—์„œ ์ด๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  "๋„ˆ๋ฌด ๋Š๋ฆฌ๋‹ค"๋Š” ๊ฒƒ์€ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ๊ทธ ์ˆซ์ž๋Š” ๋ช‡ ๊ฐœ์ด๋ฉฐ, ๋ˆ„๊ฐ€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๊นŒ? ์ž ์‹œ ์‰ฌ์—ˆ๋‹ค๊ฐ€ ๋‚˜์ค‘์— ๋‹ค์‹œ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ผ๋งˆ๋‚˜ ๋‚˜์ค‘์—์š”?

Istio์˜ ํ’€ ๋ฐฐ์ถœ์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ Istio๋Š” ๋ผ์šฐํŒ… ๋ฐ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฆฌ์†Œ์Šค ํ’€์—์„œ ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๊ณ  ํ’€ ์ œ๊ฑฐ ์ ˆ์ฐจ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ ๋ณดํ˜ธ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์กฐ์— ๋‚˜์„ฐ์Šต๋‹ˆ๋‹ค.

Istio๋Š” ์ด์ƒ๊ฐ’ ๊ฐ์ง€ ์ „๋žต์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์ธ์„ ๋ฒ—์–ด๋‚œ Pod ๊ณก์„ ์„ ๊ฐ์ง€ํ•˜๊ณ  ์ ˆ์ „ ์ฐฝ์ด๋ผ๊ณ  ํ•˜๋Š” ๋ฏธ๋ฆฌ ๊ฒฐ์ •๋œ ์‹œ๊ฐ„ ๋™์•ˆ ๋ฆฌ์†Œ์Šค ํ’€์—์„œ ์ด๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

OpenShift ํ”Œ๋žซํผ์˜ Kubernetes์—์„œ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์ €์žฅ์†Œ์˜ ์˜ˆ์—์„œ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์Šคํฌ๋ฆฐ์ƒท๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Red Hat ๊ฐœ๋ฐœ์ž ๋ฐ๋ชจ. ์—ฌ๊ธฐ์—๋Š” ๊ฐ๊ฐ ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” v1๊ณผ v2๋ผ๋Š” ๋‘ ๊ฐœ์˜ ํฌ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Istio ๋ผ์šฐํŒ… ๊ทœ์น™์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด Kubernetes๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ท ๋“ฑํ•˜๊ฒŒ ๊ท ํ˜• ์žกํžŒ ๋ผ์šด๋“œ ๋กœ๋นˆ ๋ผ์šฐํŒ…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”

์‹คํŒจ์— ๋Œ€๋น„ํ•˜๊ธฐ

ํ’€ ์ œ๊ฑฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— Istio ๋ผ์šฐํŒ… ๊ทœ์น™์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Pod ๊ฐ„์— ์š”์ฒญ์„ 50/50 ๋น„์œจ๋กœ ๋ฐฐํฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด v2 ์ปจํ…Œ์ด๋„ˆ์˜ ์ˆ˜๋ฅผ XNUMX์—์„œ XNUMX๋กœ ๋Š˜๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

oc scale deployment recommendation-v2 --replicas=2 -n tutorial

์ด์ œ ํŠธ๋ž˜ํ”ฝ์ด 50/50 ๋น„์œจ๋กœ ํฌ๋“œ ๊ฐ„์— ๋ถ„์‚ฐ๋˜๋„๋ก ๋ผ์šฐํŒ… ๊ทœ์น™์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”
์ด ๊ทœ์น™์˜ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”
์ด ํ™”๋ฉด์ด 50/50์ด ์•„๋‹ˆ๋ผ 14:9๋ผ๋Š” ์ ์—์„œ ๋ฌธ์ œ์ ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ƒํ™ฉ์ด ๊ฐœ์„ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฒฐํ•จ ๋งŒ๋“ค๊ธฐ

์ด์ œ ๋‘ ๊ฐœ์˜ v2 ์ปจํ…Œ์ด๋„ˆ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ํ•˜๋‚˜์˜ ์ •์ƒ v1 ์ปจํ…Œ์ด๋„ˆ, ํ•˜๋‚˜์˜ ์ •์ƒ v2 ์ปจํ…Œ์ด๋„ˆ ๋ฐ ํ•˜๋‚˜์˜ ๊ฒฐํ•จ์ด ์žˆ๋Š” v2 ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ–๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”

๊ฒฐํ•จ ์ˆ˜์ •

๋”ฐ๋ผ์„œ ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ด์ œ Pool Ejection์„ ์ˆ˜ํ–‰ํ•  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๋งค์šฐ ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์‹คํŒจํ•œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ 15์ดˆ ๋™์•ˆ ๋ชจ๋“  ๋ผ์šฐํŒ… ์ฒด๊ณ„์—์„œ ์ œ์™ธํ•˜์—ฌ ์ •์ƒ ์ƒํƒœ(๋‹ค์‹œ ์‹œ์ž‘ ๋˜๋Š” ์„ฑ๋Šฅ ๋ณต์›)๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด ๊ตฌ์„ฑ์˜ ๋ชจ์Šต๊ณผ ์ž‘์—… ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”
Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”
๋ณด์‹œ๋‹ค์‹œํ”ผ, ์‹คํŒจํ•œ v2 ์ปจํ…Œ์ด๋„ˆ๋Š” ํ’€์—์„œ ์ œ๊ฑฐ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฒญ ๋ผ์šฐํŒ…์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 15์ดˆ๊ฐ€ ์ง€๋‚˜๋ฉด ์ž๋™์œผ๋กœ ํ’€๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์šฐ๋ฆฌ๋Š” Pool Ejection์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฑด์ถ•์„ ์‹œ์ž‘ํ•˜์ž

Istio์˜ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ๊ณผ ๊ฒฐํ•ฉ๋œ Pool Ejection์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™์œผ๋กœ ๊ต์ฒดํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์ถ•์„ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„๊ณผ ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•˜์ง€๋Š” ๋ชปํ•˜๋”๋ผ๋„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ƒ
NASA์—๋Š” ํ•˜๋‚˜์˜ ํฐ ๋ชจํ† ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํŒจ๋Š” ์˜ต์…˜์ด ์•„๋‹ˆ๋ฉฐ ์ €์ž๋Š” ๋น„ํ–‰ ๋””๋ ‰ํ„ฐ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ง„ ํฌ๋ž€์ธ . โ€œ์‹คํŒจ๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋‹คโ€๋ผ๋Š” ๋œป์œผ๋กœ ๋Ÿฌ์‹œ์•„์–ด๋กœ ๋ฒˆ์—ญํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ์˜์ง€๊ฐ€ ์ถฉ๋ถ„ํ•˜๋ฉด ๋ชจ๋“  ์ผ์ด ์ด๋ฃจ์–ด์ง€๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ƒํ™œ์—์„œ ์‹คํŒจ๋Š” ๊ทธ๋ƒฅ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋“  ๊ณณ์—์„œ, ํ”ผํ•  ์ˆ˜ ์—†๋Š” ์ผ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ• ๊นŒ์š”? ์šฐ๋ฆฌ ์ƒ๊ฐ์—๋Š” ์˜์ง€๋ ฅ๋ณด๋‹ค๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ๋Šฅ๋ ฅ์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Kubernetes, Red Hat OpenShift๊ณผ ์ด์Šค ํ‹ฐ์˜ค.

์œ„์—์„œ ์“ด ๊ฒƒ์ฒ˜๋Ÿผ Istio๋Š” ๋ฌผ๋ฆฌ์  ์„ธ๊ณ„์—์„œ ์ž˜ ์ž…์ฆ๋œ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ ๊ฐœ๋…์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ „๊ธฐ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ๊ฐ€ ํšŒ๋กœ์˜ ๋ฌธ์ œ ๋ถ€๋ถ„์„ ๋„๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Istio์˜ ์†Œํ”„ํŠธ์›จ์–ด Circuit Breaker๋Š” ์—”๋“œํฌ์ธํŠธ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๋•Œ(์˜ˆ: ์„œ๋ฒ„๊ฐ€ ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ) ์š”์ฒญ ์ŠคํŠธ๋ฆผ๊ณผ ๋ฌธ์ œ ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ ์—ฝ๋‹ˆ๋‹ค. ์ฒœ์ฒœํžˆ ํ•ด.

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

์ด๋ก ์ƒ์˜ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ

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

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”
์—ฌ๊ธฐ์„œ ์ด ๋ชจ๋“  ๊ฒƒ์ด ๋งํ•˜์ž๋ฉด ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์ˆ˜์ค€์—์„œ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์–ด๋Š ์‹œ์ ์—์„œ๋Š” ์‘๋‹ต์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๊ฐ€๋Šฅํ•˜๋ฉด ์„œ๋น„์Šค ์กด์žฌ๋ฅผ ๋ฌด์‹œํ•˜๋Š” ๋“ฑ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ€๋ฅด์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๊ฒฉ๋ฒฝ ํŒจํ„ด์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ด๋Š” ์ด ๊ธฐ์‚ฌ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ

์˜ˆ๋ฅผ ๋“ค์–ด OpenShift์—์„œ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์˜ ์ถ”์ฒœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 1์€ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ v2์—์„œ๋Š” ์„œ๋ฒ„ ์†๋„ ์ €ํ•˜๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด ์ง€์—ฐ ์‹œ๊ฐ„์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ํฌ์œ„ ๊ณต๊ฒฉ:

siege -r 2 -c 20 -v customer-tutorial.$(minishift ip).nip.io

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”
๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋น„์šฉ์€ ์–ผ๋งˆ์ž…๋‹ˆ๊นŒ? ์–ธ๋œป ๋ณด๋ฉด ๊ฐ€์šฉ์„ฑ์ด 100%์ด์ง€๋งŒ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด ์ตœ๋Œ€ ํŠธ๋žœ์žญ์…˜ ๊ธฐ๊ฐ„์€ 12์ดˆ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ถ„๋ช…ํžˆ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด๋ฏ€๋กœ ํ™•์žฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด Istio๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Š๋ฆฐ ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ํ˜ธ์ถœ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ•ด๋‹น ๊ตฌ์„ฑ์˜ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”
httpMaxRequestsPerConnection ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋œ ๋งˆ์ง€๋ง‰ ์ค„์€ ๊ธฐ์กด ์—ฐ๊ฒฐ ์™ธ์— ๋‹ค๋ฅธ ์—ฐ๊ฒฐ(๋‘ ๋ฒˆ์งธ ์—ฐ๊ฒฐ)์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•  ๋•Œ ์—ฐ๊ฒฐ์„ ๋Š์–ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋Š” ๋Š๋ฆฐ ์„œ๋น„์Šค๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋ฉฐ Istio๋Š” 503 ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ ์ด๋Š” siege์—์„œ ํ‘œ์‹œ๋˜๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

Istio ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ: ๊ฒฐํ•จ์ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋น„ํ™œ์„ฑํ™”

์ข‹์•„์š”, ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์„œ๋น„์Šค ์ž์ฒด์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ „ํ˜€ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ณ  ์ž๋™ ์ข…๋ฃŒ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ์„ค๋ช…ํ•œ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ ๋ฐ ํ’€ ์ œ๊ฑฐ ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ ˆ์ดํฌ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ์œผ๋กœ ๋Œ์•„์˜ฌ ๋•Œ๊นŒ์ง€ ๋ฆฌ์†Œ์Šค ํ’€์—์„œ ๋ธŒ๋ ˆ์ดํฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ง€์ •๋œ ๋นˆ๋„๋กœ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ๋Š” XNUMX๋ถ„์ž…๋‹ˆ๋‹ค(sleepWindow ๋งค๊ฐœ ๋ณ€์ˆ˜).

503 ์˜ค๋ฅ˜์— ์‘๋‹ตํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์†Œ์Šค ์ฝ”๋“œ ์ˆ˜์ค€์—์„œ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ „๋žต์€ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ฒŒ์‹œ๋ฌผ์—์„œ: Istio์— ์ด๋ฏธ ๋‚ด์žฅ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€๋˜๋Š” ์ถ”์  ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ์˜๋„์ ์œผ๋กœ ์‹œ์Šคํ…œ์— ์˜ค๋ฅ˜๋ฅผ ๋„์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

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