K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

ํ—ค์ด ํ•˜๋ธŒ๋ฅด!

์šฐ๋ฆฌ๋Š” Exness ํ”Œ๋žซํผ ํŒ€์„ ๋Œ€ํ‘œํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์šฐ๋ฆฌ ๋™๋ฃŒ๋“ค์€ ์ด๋ฏธ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์‚ฌ๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค. k8s์šฉ ํ”„๋กœ๋•์…˜ ์ค€๋น„ ์ด๋ฏธ์ง€. ์˜ค๋Š˜์€ ์„œ๋น„์Šค๋ฅผ Kubernetes๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

์šฐ์„ , ๋…ผ์˜ํ•  ๋‚ด์šฉ์„ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ช‡ ๊ฐ€์ง€ ์ˆซ์ž๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ ๊ฐœ๋ฐœ ๋ถ€์„œ๋Š” ์ž๊ธ‰์ž์กฑํ•˜๋Š” QA, DevOps ๋ฐ Scrum ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ–์ถ˜ 100๊ฐœ ์ด์ƒ์˜ ํŒ€์„ ํฌํ•จํ•˜์—ฌ 10๋ช… ์ด์ƒ์˜ ์ธ๋ ฅ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์Šคํƒ - Python, PHP, C++, Java ๋ฐ Golang. 
  • ํ…Œ์ŠคํŠธ ๋ฐ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ๊ทœ๋ชจ๋Š” ๊ฐ๊ฐ ์ปจํ…Œ์ด๋„ˆ ์•ฝ 2000๊ฐœ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์ž์ฒด ๊ฐ€์ƒํ™” ๋ฐ VMware์—์„œ Rancher v1.6์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

์ž๊ทน

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

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

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

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„

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

๋‹ค์Œ์€ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์†”๋ฃจ์…˜์ธ kops, kubespray, kubeadm์„ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ์„ , kubeadm์€ ์ผ์ข…์˜ "์ž์ „๊ฑฐ" ๋ฐœ๋ช…๊ฐ€์ฒ˜๋Ÿผ ์šฐ๋ฆฌ์—๊ฒŒ ๋„ˆ๋ฌด ๋ณต์žกํ•œ ๊ฒฝ๋กœ๋กœ ๋ณด์˜€๊ณ  kops์—๋Š” ์ถฉ๋ถ„ํ•œ ์œ ์—ฐ์„ฑ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ์Šน์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

์šฐ๋ฆฌ๋Š” ๋ชจ๋‘๊ฐ€ ๋™์ผํ•œ "ํด๋Ÿฌ์Šคํ„ฐ"๋ฅผ ๊ณต์œ ํ•˜๋Š” ์ด์ „ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ ํŒจํ„ด๊ณผ ๋Œ€๋žต ์œ ์‚ฌํ•œ ๊ฒƒ์„ ๋‹ค์‹œ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ž์ฒด ๊ฐ€์ƒํ™”์™€ AWS๋ฅผ ์‹คํ—˜ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ 10๊ฐœ์˜ ์†Œํ˜• ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ฒซ ๋ฒˆ์งธ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ƒ๊ฒผ์œผ๋ฉฐ ๊ทธ ์ค‘ ๋‘ ๊ฐœ๋Š” AWS์— ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ณณ์œผ๋กœ ํŒ€์„ ์ด์ฃผ์‹œํ‚ค๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ๋ชจ๋“  ๊ฒƒ์ด "์ข‹์€" ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€๊ณ  ์ด์•ผ๊ธฐ๋Š” ๋๋‚  ์ˆ˜๋„ ์žˆ์—ˆ์ง€๋งŒ...

์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ

Ansible์€ kubespray์˜ ๊ธฐ๋ฐ˜์ด๋ฉฐ IaC๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋…ธ๋“œ๋ฅผ ์ปค๋ฏธ์…”๋‹/ํ•ด์ œํ•  ๋•Œ ๋ฌด์–ธ๊ฐ€ ์ง€์†์ ์œผ๋กœ ์ž˜๋ชป๋˜์–ด ์ผ์ข…์˜ ๊ฐœ์ž…์ด ํ•„์š”ํ–ˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ OS๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ”Œ๋ ˆ์ด๋ถ์ด ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. . ํด๋Ÿฌ์Šคํ„ฐ์˜ ํŒ€๊ณผ ๋…ธ๋“œ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ ํ”Œ๋ ˆ์ด๋ถ์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ ์  ๋” ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์šฐ๋ฆฌ์˜ ๊ธฐ๋ก์€ 3,5์‹œ๊ฐ„์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ๋ก์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ๐Ÿ™‚

๊ทธ๋ฆฌ๊ณ  kubespray๋Š” ๋‹จ์ง€ Ansible์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ ์–ธ๋œป ๋ณด๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๋ช…ํ™•ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

์—ฌ์ •์ด ์‹œ์ž‘๋  ๋•Œ ์ž‘์—…์€ AWS์™€ ๊ฐ€์ƒํ™”์—์„œ๋งŒ ์šฉ๋Ÿ‰์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์ง€๋งŒ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋“ฏ์ด ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
 
K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

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

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

๋ณ„๋„์˜ ์ด์•ผ๊ธฐ๋Š” ์ง์›์—๊ฒŒ ๊ถŒ๋ฆฌ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํŒ€์€ ํด๋Ÿฌ์Šคํ„ฐ์˜ "์ˆ˜์žฅ"์ด ๋˜์–ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์™„์ „ํžˆ ๊ด€๋ฆฌํ•˜๊ธฐ๋ฅผ ์›ํ–ˆ๋Š”๋ฐ, ์ด๋Š” ํŒ€์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋กœ ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํ•œ ๋ถ•๊ดด๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด์—‡์„ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

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

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๋‘ ๋ฒˆ์งธ ๊ฒƒ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

๊ทธ๋ฆฌ๊ณ  ์„ธ ๋ฒˆ์งธ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

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

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

์™„์ „ํ•œ Kubernetes๊ฐ€ ์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค! ์ด๊ฒƒ์€ ์ผ์ข…์˜ MultiKubernetes์ธ ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค. 

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

Kubernetes ์„ธ๊ณ„์—์„œ์˜ ์—ฌ์ •์ด ์‹œ์ž‘๋œ ์ง€ ์–ด๋Š ์ •๋„ ์‹œ๊ฐ„์ด ์ง€๋‚ฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ์žฌ๊ฒ€ํ† ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์‹œ์žฅ์— ์กด์žฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค - Rancher 2.2.

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

์—ฐ๊ตฌ์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ Rancher Labs๋Š” ์ด๋ฏธ ๋ฒ„์ „ 2์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“ค์—ˆ์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™ธ๋ถ€ ์ข…์†์„ฑ ์—†์ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๊ณต์‹ HELM ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์กฐ์žกํ•ด ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์ด ๊ฐœ๋ฐœ๋ ์ง€ ์•„๋‹ˆ๋ฉด ๋นจ๋ฆฌ ํ๊ธฐ๋ ์ง€ ์ด ๊ฒฐ์ •์— ์˜์กดํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. UI ์ž์ฒด์˜ ํด๋Ÿฌ์Šคํ„ฐ = ํด๋ฆญ ํŒจ๋Ÿฌ๋‹ค์ž„๋„ ์šฐ๋ฆฌ์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์•˜๊ณ  RKE๋Š” ๋‹ค์†Œ ์ข์€ ๋ฒ”์œ„์— ์ดˆ์ ์„ ๋งž์ถ˜ ๋„๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์— RKE์— ์–ฝ๋งค์ด๊ณ  ์‹ถ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. 

๋ฒ„์ „ Rancher 2.2๋Š” ์ด๋ฏธ ๋” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ชจ์–‘์„ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ ์ด์ „ ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ๋งŽ์€ ์™ธ๋ถ€ ๊ณต๊ธ‰์ž์™€์˜ ํ†ตํ•ฉ, ๊ถŒํ•œ ๋ฐ kubeconfig ํŒŒ์ผ์˜ ๋‹จ์ผ ๋ฐฐํฌ ์ง€์ , kubectl ์‹œ์ž‘๊ณผ ๊ฐ™์€ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋งŽ์ด ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. UI์—์„œ ๊ท€ํ•˜์˜ ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€, ์ค‘์ฒฉ๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(์ผ๋ช… ํ”„๋กœ์ ํŠธ). 

Rancher 2๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ด๋ฏธ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ˜•์„ฑ๋˜์–ด ์žˆ์—ˆ๊ณ  ์ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด HashiCorp Terraform์ด๋ผ๋Š” ๊ณต๊ธ‰์ž๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋Š”๋ฐ, ์ด๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ํ•˜๋‚˜๋กœ ๋ชจ์œผ๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ๋œ ๊ฑฐ์˜ˆ์š”

๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด์— ์—ฐ๊ฒฐ๋œ ๋งŽ์€ ํด๋Ÿฌ์Šคํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” Rancher๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ•˜๋‚˜์˜ ์ž‘์€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋Š” ๊ด€๊ณ„์—†์ด ldap ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒํผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ถ€์—ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์น˜ ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ธ‰์ž์˜ ๋ฆฌ์†Œ์Šค.

gitlab-ci ๋ฐ Terraform์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž ๋˜๋Š” ์ž์ฒด ์ธํ”„๋ผ์—์„œ ๋ชจ๋“  ๊ตฌ์„ฑ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ Rancher์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ์ž‘์—…์€ IaC ์Šคํƒ€์ผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ €์žฅ์†Œ์— ์˜ํ•ด ์„ค๋ช…๋˜๊ณ  ์ƒํƒœ๋Š” ๋ฒ„์ „ํ™”๋ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋“ˆ์€ ์™ธ๋ถ€ ์ €์žฅ์†Œ์—์„œ ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ ๋‚จ์€ ๊ฒƒ์€ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๊ตฌ์„ฑ์„ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ฝ”๋“œ ๋ฐ˜๋ณต ๋น„์œจ์„ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

K8S ๋ฉ€ํ‹ฐํด๋Ÿฌ์Šคํ„ฐ ์—ฌ์ •

๋ฌผ๋ก , ์šฐ๋ฆฌ์˜ ์—ฌ์ •์€ ์•„์ง ๋๋‚˜์ง€ ์•Š์•˜์œผ๋ฉฐ ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋กœ๊ทธ ๋ฐ ๋ฉ”ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์ผ ์ž‘์—… ์ง€์ , ์„œ๋น„์Šค ๋ฉ”์‹œ, ๋ฉ€ํ‹ฐ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋กœ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ gitops ๋“ฑ๊ณผ ๊ฐ™์€ ํฅ๋ฏธ๋กœ์šด ์ž‘์—…์ด ์—ฌ์ „ํžˆ ๋งŽ์ด ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝํ—˜์ด ํฅ๋ฏธ๋กœ์› ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค! 

์ด ๊ธฐ์‚ฌ๋Š” ํ”Œ๋žซํผ ์—”์ง€๋‹ˆ์–ด A. Antipov, A. Ganush๊ฐ€ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. 

์ถœ์ฒ˜ : habr.com

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