Google์ด ์ œ์‹œํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ์— ๋Œ€ํ•œ 7๊ฐ€์ง€ ๋ชจ๋ฒ” ์‚ฌ๋ก€

๋ฉ”๋ชจ. ๋ฒˆ์—ญ: ์›๋ณธ ๊ธฐ์‚ฌ์˜ ์ €์ž๋Š” Google Cloud Solutions Architect์ธ Thรฉo Chamley์ž…๋‹ˆ๋‹ค. Google Cloud ๋ธ”๋กœ๊ทธ์˜ ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ ๊ทธ๋Š” '์ปจํ…Œ์ด๋„ˆ ์šด์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€" ์—ฌ๊ธฐ์—์„œ Google ์ „๋ฌธ๊ฐ€๋“ค์€ ๋ณด์•ˆ์—์„œ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋กœ๊น…์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๊ด‘๋ฒ”์œ„ํ•œ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃจ๋ฉด์„œ Google Kubernetes Engine ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋งฅ๋ฝ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ถŒ์žฅ์‚ฌํ•ญ์„ ์ˆ˜์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Google์— ๋”ฐ๋ฅด๋ฉด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ปจํ…Œ์ด๋„ˆ ๊ด€ํ–‰์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Google์ด ์ œ์‹œํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ์— ๋Œ€ํ•œ 7๊ฐ€์ง€ ๋ชจ๋ฒ” ์‚ฌ๋ก€

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

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

1. ๊ธฐ๋ณธ ์ปจํ…Œ์ด๋„ˆ ๋กœ๊น… ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์‚ฌ์šฉ

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

์›ํ•˜๋Š” ๊ฒฝ์šฐ ๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. JSON ํ˜•์‹. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ํ†ตํ•ด Stackdriver Logging์€ ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ƒํƒœ ๋น„์ €์žฅ(Stateless)์ด๊ณ  ๋ถˆ๋ณ€์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”.

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

๋ฌด๊ตญ์ ์ž ๋ชจ๋“  ์ƒํƒœ(๋ชจ๋“  ์ข…๋ฅ˜์˜ ์˜๊ตฌ ๋ฐ์ดํ„ฐ)๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์™ธ๋ถ€์— ์ €์žฅ๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํ•„์š”์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์™ธ๋ถ€ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€, ์˜๊ตฌ ๋””์Šคํฌ, Redis, ํด๋ผ์šฐ๋“œ SQL ๋˜๋Š” ๊ธฐํƒ€ ๊ด€๋ฆฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค. (๋ฉ”๋ชจ. ๋ฒˆ์—ญ: ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ธฐ์‚ฌ "์—์„œ ์ฝ์–ด๋ณด์„ธ์š”.Kubernetes์šฉ ์—ฐ์‚ฐ์ž: ์ƒํƒœ ์ €์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•".)

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

Google์ด ์ œ์‹œํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ์— ๋Œ€ํ•œ 7๊ฐ€์ง€ ๋ชจ๋ฒ” ์‚ฌ๋ก€
Pod์— ๊ตฌ์„ฑ์œผ๋กœ ํƒ‘์žฌ๋œ ConfigMap์„ ์‚ฌ์šฉํ•˜์—ฌ Kubernetes์—์„œ ๋ฐฐํฌ ๊ตฌ์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์˜ˆ

3. ๊ถŒํ•œ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ”ผํ•˜์„ธ์š”

์„œ๋ฒ„์—์„œ ๋ฃจํŠธ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๊ณต๊ฒฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์นจ์ž…ํ•˜๋ฉด ๋ฃจํŠธ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋„ ๋™์ผํ•œ ๊ณ ๋ ค ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ปจํ…Œ์ด๋„ˆ์— ํŠน์ • ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ securityContext ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ. ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ sysctls, Kubernetes์—๋Š” ๋ณ„๋„์˜ ์ดˆ๋ก ์ด๋ฅผ ์œ„ํ•ด. ์ผ๋ฐ˜์ ์œผ๋กœ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜์‹ญ์‹œ์˜ค. ์ดˆ๊ธฐํ™”- ์œ ์‚ฌํ•œ ๊ถŒํ•œ ์žˆ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‚ฌ์ด๋“œ์นด ์ปจํ…Œ์ด๋„ˆ. ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ์— ์•ก์„ธ์Šคํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

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

4. ๋ฃจํŠธ๋กœ ์‹คํ–‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค

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

์ด๋ฅผ ํ”ผํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฃจํŠธ๋กœ ์•„๋ฌด๊ฒƒ๋„ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ์ง€์‹œ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. USER ะฒ Dockerfile ๋˜๋Š” runAsUser ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ. ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ์ž๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œํ–‰ ๋™์ž‘์„ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๋“œ ๋ณด์•ˆ ์ •์ฑ….

5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์„ธ์š”.

๋กœ๊น…๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ์˜ ํ•„์ˆ˜์ ์ธ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. Kubernetes ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ”„๋กœ ๋ฉ”ํ…Œ์šฐ์Šค - ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•„์š”ํ•œ Pod ๋ฐ ์„œ๋น„์Šค๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. (๋ฉ”๋ชจ. ๋ฒˆ์—ญ: ์šฐ๋ฆฌ์˜ ๊ฒƒ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค ์ƒ์„ธ ๋ณด๊ณ ์„œ Prometheus ๋ฐ Kubernetes๋ฅผ ์‚ฌ์šฉํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์ฃผ์ œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.) ์Šคํƒ๋“œ๋ผ์ด๋ฒ„ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ ์ž์ฒด Prometheus ๋ฒ„์ „์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Google์ด ์ œ์‹œํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ์— ๋Œ€ํ•œ 7๊ฐ€์ง€ ๋ชจ๋ฒ” ์‚ฌ๋ก€
Stackdriver์˜ Kubernetes ๋Œ€์‹œ๋ณด๋“œ

Prometheus๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฉ”ํŠธ๋ฆญ์„ HTTP ์—”๋“œํฌ์ธํŠธ๋กœ ์ „๋‹ฌํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋„๊ตฌ์—์„œ๋„ ๋™์ผํ•œ ํ˜•์‹์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜คํ”ˆ์ธ๊ตฌ์กฐ์‚ฌ ะธ ์ด์Šค ํ‹ฐ์˜ค.

6. ์•ฑ์˜ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

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

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

์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google์˜ Developer Advocate์ธ Sandeep Dinesh์˜ ๊ด€๋ จ ๊ธฐ์‚ฌ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.Kubernetes ๋ชจ๋ฒ” ์‚ฌ๋ก€: ์ค€๋น„ ์ƒํƒœ ๋ฐ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋กœ ์ƒํƒœ ํ™•์ธ ์„ค์ •".

7. ์ด๋ฏธ์ง€ ๋ฒ„์ „์„ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒํ•˜์„ธ์š”

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

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

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

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

์ถœ์ฒ˜ : habr.com

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