์›น์‚ฌ์ดํŠธ ๊ฐœ๋ฐœ ์„ธ๊ณ„์—์„œ Kubernetes๋Š” ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ, ํ™•์žฅ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ํš๊ธฐ์ ์ธ ์˜คํ”ˆ ์†Œ์Šค ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์›๋ž˜ Google์—์„œ ๊ฐœ๋ฐœํ•œ ์ด ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜์€ ํ˜„์žฌ CNCF(Cloud Native Computing Foundation)์—์„œ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋Œ€๊ทœ๋ชจ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๋”ฐ๋ฅธ ์šด์˜ ๋ฌธ์ œ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋ฏ€๋กœ ์„ฑ์žฅํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋ ค๋Š” ์กฐ์ง์— ์—†์–ด์„œ๋Š” ์•ˆ๋  ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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

Kubernetes์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

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

์˜ˆ๋ฅผ ๋“ค์–ด AppMasterno-code ํ”Œ๋žซํผ์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒญ์‚ฌ์ง„์œผ๋กœ ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ• ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒญ์‚ฌ์ง„์ด ๋ฐฐํฌ๋˜๋ฉด Go, Vue.js, Kotlin๊ณผ ๊ฐ™์€ ์ตœ์ฒจ๋‹จ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜๊ณ  Docker ์ปจํ…Œ์ด๋„ˆ์— ์บก์Аํ™”๋˜์–ด ํด๋ผ์šฐ๋“œ์— ๋ฐฐํฌ๋˜๋Š” ์™„์ „ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. Kubernetes๋ฅผ ๊ธฐ๋ณธ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์œผ๋กœ ์ฑ„ํƒํ•จ์œผ๋กœ์จ AppMaster ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์šด ์›Œํฌ๋กœ๋“œ ๋ฐ ์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋†’์€ ํ™•์žฅ์„ฑ, ํƒ„๋ ฅ์„ฑ ๋ฐ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํฌ๊ด„์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์กฐ์ง์— ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ, ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌํ•˜๋Š” 10๋ฐฐ ๋” ๋น ๋ฅด๊ณ  3๋ฐฐ ๋” ๋น„์šฉ ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ตœ๊ทผ CNCF ์„ค๋ฌธ ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด ์‘๋‹ต์ž์˜ ๊ฑฐ์˜ 83%๊ฐ€ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ Kubernetes๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๋ณด๊ณ ํ–ˆ๋Š”๋ฐ, ์ด๋Š” ์ด ๊ฐ•๋ ฅํ•œ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์˜ ์ฑ„ํƒ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Œ์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Kubernetes๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ AWS, Azure, Google Cloud Platform๊ณผ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๋Š” ๋ฌผ๋ก  CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฐ ๋„๊ตฌ์™€ ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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