• Aiden's Lab แ„‚แ…ฒแ„‰แ…ณแ„…แ…ฆแ„แ…ฅ
  • Posts
  • Kubernetes แ„’แ…ชแ†ซแ„€แ…งแ†ผแ„‹แ…ฆแ„‰แ…ฅ แ„‰แ…ตแ†ฏแ„‰แ…ณแ†ธแ„’แ…กแ„€แ…ฉ แ„แ…ฆแ„‰แ…ณแ„แ…ณแ„’แ…กแ†ฏ แ„‰แ…ฎ แ„‹แ…ตแ†ปแ„‚แ…ณแ†ซ แ„€แ…กแ„Œแ…กแ†ผ แ„‰แ…ฑแ„‹แ…ฎแ†ซ แ„‡แ…กแ†ผแ„‡แ…ฅแ†ธ: minikubeแ„…แ…ฉ Kubernetes แ„แ…ณแ†ฏแ„…แ…ฅแ„‰แ…ณแ„แ…ฅ แ„€แ…ฎแ„Žแ…ฎแ†จแ„’แ…กแ„€แ…ต

Kubernetes แ„’แ…ชแ†ซแ„€แ…งแ†ผแ„‹แ…ฆแ„‰แ…ฅ แ„‰แ…ตแ†ฏแ„‰แ…ณแ†ธแ„’แ…กแ„€แ…ฉ แ„แ…ฆแ„‰แ…ณแ„แ…ณแ„’แ…กแ†ฏ แ„‰แ…ฎ แ„‹แ…ตแ†ปแ„‚แ…ณแ†ซ แ„€แ…กแ„Œแ…กแ†ผ แ„‰แ…ฑแ„‹แ…ฎแ†ซ แ„‡แ…กแ†ผแ„‡แ…ฅแ†ธ: minikubeแ„…แ…ฉ Kubernetes แ„แ…ณแ†ฏแ„…แ…ฅแ„‰แ…ณแ„แ…ฅ แ„€แ…ฎแ„Žแ…ฎแ†จแ„’แ…กแ„€แ…ต

Kubernetes แ„‰แ…ตแ†ฏแ„‰แ…ณแ†ธแ„€แ…ช แ„แ…ฆแ„‰แ…ณแ„แ…ณแ„‹แ…ฆ minikubeแ„…แ…ณแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ†ฏ แ„„แ…ข แ„‹แ…ตแ„Œแ…ฅแ†ทแ„‹แ…ณแ†ฏ แ„‹แ…กแ†ฏแ„‹แ…กแ„‡แ…ฉแ„€แ…ฉ, minikubeแ„…แ…ฉ Kubernetes แ„แ…ณแ†ฏแ„…แ…ฅแ„‰แ…ณแ„แ…ฅแ„…แ…ณแ†ฏ แ„€แ…ฎแ„Žแ…ฎแ†จแ„’แ…กแ„‚แ…ณแ†ซ แ„€แ…ชแ„Œแ…ฅแ†ผแ„‹แ…ณแ†ฏ แ„„แ…กแ„…แ…กแ„€แ…กแ„‡แ…ฉแ†ธแ„‚แ…ตแ„ƒแ…ก.

์•ˆ๋…•ํ•˜์„ธ์š”, Aidenโ€™s Lab ๋‰ด์Šค๋ ˆํ„ฐ์ž…๋‹ˆ๋‹ค.

Kubernetes๋Š” ์ด๋ฏธ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์˜ ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ์žก์•˜๊ณ , ๋งŽ์€ ๊ธฐ์—…๊ณผ ํŒ€์—์„œ ์ง์ ‘ ์„œ๋ฒ„์— Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ฃฝํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ˜• Kubernetes ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋งŽ์€ ๋ถ„๋“ค์ด Kubernetes์™€ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํˆด์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ๊ณ„์‹œ์ง€๋งŒ, ์—ฌ์ „ํžˆ ์ง„์ž…์žฅ๋ฒฝ์€ ๋†’์€ ํŽธ์ธ๋ฐ์š”.

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

Kubernetes๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ  ์‹ถ๊ฑฐ๋‚˜ ๋กœ์ปฌ์—์„œ ๊ฐ€๋ณ๊ฒŒ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์€ ๋ถ„๋“ค์—๊ฒ ๋ถ€๋‹ด์ด ๋  ์ˆ˜๋ฐ–์— ์—†์ฃ .

์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ํˆด์ด ๋“ฑ์žฅํ–ˆ๋Š”๋ฐ์š”. ๊ทธ ์ค‘์—์„œ๋„ ์ œ๊ฐ€ ์ด๋ฒˆ์— ์†Œ๊ฐœํ•  ํˆด์€ ๋ฐ”๋กœ, minikube์ž…๋‹ˆ๋‹ค.

๐Ÿ‘minikube๊ฐ€ Kubernetes ์‹ค์Šต ๋ฐ ํ…Œ์ŠคํŠธ์— ํƒ์›”ํ•œ ์ด์œ 

minikube๋Š” ๊ฐœ๋ฐœ์ž์˜ ๋กœ์ปฌ PC์—์„œ ํ•œ ๊ฐœ ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํˆด์ž…๋‹ˆ๋‹ค.

minikube์˜ ์žฅ์ ์„ 5๊ฐ€์ง€๋กœ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ๋ณต์žกํ•œ ์„ค์ • ์—†์ด ๋ช‡ ๊ฐ€์ง€ ๋ช…๋ น์–ด๋งŒ์œผ๋กœ ์‹ค์ œ Kubernetes์™€ ์œ ์‚ฌํ•œ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์ฆ‰์‹œ Kubernetes ๊ด€๋ จ ์‹ค์Šต์ด๋‚˜ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ AWS, GCP์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์‚ฌ์˜ ๊ด€๋ฆฌํ˜• Kubernetes ์„œ๋น„์Šค๋Š” ํ•™์Šต ์šฉ๋„๋กœ ์‚ฌ์šฉํ•ด๋„ ๋น„์šฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, minikube๋Š” ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ๊ตฌ๋™๋˜๋ฏ€๋กœ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋น„์šฉ ๊ฑฑ์ • ์—†์ด ๋‹ค์–‘ํ•œ Kubernetes ๊ธฐ๋Šฅ์ด๋‚˜ Helm ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํˆด์„ ๋งˆ์Œ๊ป ์‹คํ—˜ํ•˜๊ณ  ํ•™์Šตํ•  ์ˆ˜ ์žˆ์ฃ .

3๏ธโƒฃ minikube๋Š” ๊ฐ€์ƒ ๋จธ์‹ (VM)์ด๋‚˜ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ ์‹œ์Šคํ…œ ๋‚ด์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„๊ณผ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์‹ค์Šต ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋‚˜ ์„ค์ • ๋ณ€๊ฒฝ์ด ๋กœ์ปฌ PC์˜ ์šด์˜์ฒด์ œ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ minikube๋Š” ํ‘œ์ค€ Kubernetes API๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  kubectl๊ณผ ๊ฐ™์€ ์‹ค์ œ Kubernetes ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํด๋Ÿฌ์Šคํ„ฐ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”๋ฐ์š”.

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

๊ทธ๋ž˜์„œ minikube์—์„œ์˜ ํ•™์Šต์ด ์‹ค์ œ ์—…๋ฌด ํ™˜๊ฒฝ์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

5๏ธโƒฃ minikube๋Š” Windows, macOS, Linux ๋“ฑ ์ฃผ์š” ์šด์˜์ฒด์ œ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋ฏ€๋กœ, ์ž์‹ ์˜ ๋กœ์ปฌ PC ํ™˜๊ฒฝ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  minikube๋ฅผ ํ†ตํ•ด Kubernetes ํ•™์Šต๊ณผ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งŽ์€ ์žฅ์ ์„ ๊ฐ€์ง„ minikube๋ฅผ ์–ผ๋ฅธ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๋งˆ์Œ์ด ๋“œ์‹ค ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

๊ทธ ์ „์—, ์ง€๊ธˆ๊นŒ์ง€๋Š” ์žฅ์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์œผ๋‹ˆ ์‹ค์ œ๋กœ minikube๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ์œ ์˜ํ•ด์•ผ ํ•  ์ ๋„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

โ—minikube ์„ค์น˜ ์ „ ์œ ์˜ํ•ด์•ผ ํ•  ์ 

minikube ์ตœ์†Œ ์‚ฌ์–‘

minikube๋Š” ๊ฐ€์ƒ ๋จธ์‹  ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒˆ๋กœ ๊ตฌ์ถ•ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ • ์ˆ˜์ค€ ์ด์ƒ์˜ ์‹œ์Šคํ…œ ์ž์›์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ ์‚ฌ์ดํŠธ์— ๋ช…์‹œ๋œ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์•Œ๋ ค๋“œ๋ฆฌ์ž๋ฉด, ๋‹จ์ผ ๋…ธ๋“œ ๊ธฐ์ค€์œผ๋กœ ๊ถŒ์žฅ๋˜๋Š” ์ตœ์†Œ ์‚ฌ์–‘์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ตœ์†Œ 2 CPU ์ฝ”์–ด

  • ์ตœ์†Œ 2GB ์ด์ƒ์˜ ๋ฉ”๋ชจ๋ฆฌ

  • 20GB ์ด์ƒ์˜ ๋””์Šคํฌ ์—ฌ์œ  ๊ณต๊ฐ„

minikube๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฐ€์ƒํ™” ํˆด์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

minikube๋Š” ์—ฌ๋Ÿฌ ์šด์˜์ฒด์ œ์˜ VM์ด๋‚˜ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๊ฐ€์ƒํ™” ํˆด์— ๋Œ€์‘๋˜๋Š” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ minikube๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ€์ƒํ™” ํˆด์ด ๋‹ค๋ฅธ๋ฐ์š”. ๊ฐ ์šด์˜์ฒด์ œ๋ณ„๋กœ minikube๊ฐ€ ์ง€์›ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ฐ€์ƒํ™” ํˆด์„ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Windows: Hyper-V(VM), Docker Desktop(VM + ์ปจํ…Œ์ด๋„ˆ)

  • macOS: HyperKit(VM), Docker Desktop (VM + ์ปจํ…Œ์ด๋„ˆ)

  • Linux: KVM(VM), Docker (์ปจํ…Œ์ด๋„ˆ)

์ฆ‰, ๊ฐ ์šด์˜์ฒด์ œ๋ณ„๋กœ ์œ„ ๊ฐ€์ƒํ™” ํˆด์ด ์„ค์น˜๋˜์–ด์žˆ๋‹ค๋ฉด minikube๊ฐ€ ํ•ด๋‹น ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์„ ์ด์šฉํ•ด์„œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์ถ”๊ฐ€์ ์ธ ๋„คํŠธ์›Œํฌ ์„ค์ •์ด ํ•„์š”ํ•œ์ง€ ํ™•์ธ

Kubernetes๋Š” ๊ฒฐ๊ตญ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๋Š” ํ™˜๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์—… ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์ด๋‚˜ ํŠน์ • ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ์—์„œ๋Š” ๋ฐฉํ™”๋ฒฝ์ด๋‚˜ VPN์ด minikube ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด๋ถ€ ํ†ต์‹  ๋˜๋Š” ์™ธ๋ถ€ ์ธํ„ฐ๋„ท ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ์š”.

์ด๋Ÿด ๋• ํ•„์š”ํ•œ ํฌํŠธ๋ฅผ ๋ณ„๋„๋กœ ์—ด๊ฑฐ๋‚˜ VPN ์„ค์ •์„ ์กฐ์ •ํ•˜๋Š” ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํŒ€์ด๋‚˜ ์กฐ์ง ๋‚ด์—์„œ minikube๋กœ ๋„คํŠธ์›Œํฌ ์„ค์ •์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ, ๋ฌด์—‡๋ณด๋‹ค ์กฐ์ง ๋‚ด ๊ด€๋ จ ์ •์ฑ…์„ ๋จผ์ € ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ํˆด๊ณผ์˜ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ ํ™•์ธ

Windows๋‚˜ macOS๋ฅผ ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด Docker Desktop์„ ์ด๋ฏธ ์„ค์น˜ํ•˜์…จ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Docker Desktop์€ ์ž์ฒด์ ์œผ๋กœ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”.

๋งŒ์•ฝ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•œ ์ƒํƒœ์—์„œ minikube๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด, kubectl ์ปจํ…์ŠคํŠธ๋‚˜ ํฌํŠธ๊ฐ€ ์ถฉ๋Œํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, kubectl ์ปจํ…์ŠคํŠธ๋ฅผ ์ ์ ˆํ•˜๊ณ  ๋ช…ํ™•ํžˆ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

kubectl CLI๋Š” ๋งˆ์ด๋„ˆ ๋ฒ„์ „ 1๋งŒํผ์˜ ๋ฒ”์œ„ ๋‚ด์˜ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์™€ ์•ˆ์ •์ ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, kubectl ๋ฒ„์ „์ด 1.33์ด๋ผ๋ฉด, 1.32, 1.33, 1.34 ๋ฒ„์ „์˜ Kubernetes์™€ ์•ˆ์ •์ ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ฒƒ์ด์ฃ .

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

๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋ฒ„์ „์„ ๋งž์ถ”๊ฑฐ๋‚˜, ๊ทธ๊ฒŒ ์–ด๋ ต๋‹ค๋ฉด ๋กœ์ปฌ์— ์„ค์น˜๋œ kubectl ๋Œ€์‹  minikube kubectl -- ๋ช…๋ น์–ด๋กœ minikube ๋‚ด์žฅ kubectl์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

minikube๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „ ์•Œ์•„๋‘ฌ์•ผ ํ•  ์ ๊นŒ์ง€ ์‚ดํŽด๋ดค๋Š”๋ฐ์š”.

์ด์ œ minikube๋ฅผ ์ง์ ‘ ์„ค์น˜ํ•ด์„œ ํด๋Ÿฌ์Šคํ„ฐ๋„ ์ƒ์„ฑํ•ด๋ด์•ผ๊ฒ ์ฃ ? ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผ์˜ค์‹ค ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ฐ€ ์ง์ ‘ ๊ฐ€์ด๋“œ๋ฅผ ์ค€๋น„ํ–ˆ์œผ๋‹ˆ ๊ฐ™์ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ–ฅ๏ธminikube ์„ค์น˜ ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ ๊ฐ€์ด๋“œ

1๏ธโƒฃminikube ์„ค์น˜

minikube ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ๋Š” ์ด๋ฏธ ๊ฐ ์šด์˜์ฒด์ œ๋ณ„๋กœ minikube๋ฅผ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ€์ด๋“œ๋ฅผ ์ค€๋น„ํ•ด๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์šด์˜์ฒด์ œ๋ณ„ ์„ค์น˜ ๋ช…๋ น์–ด๋Š” minikube ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

์ €๋Š” WSL ํ™˜๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ณต์‹ ๋ฌธ์„œ์— ๋‚˜์˜ค๋Š” Linux ์šด์˜์ฒด์ œ๋ฅผ ์œ„ํ•œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ํ•˜์—ฌ minikube๋ฅผ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

minikube๊ฐ€ ์ž˜ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ„ฐ๋ฏธ๋„์—์„œ minikube version ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ˜„์žฌ ์„ค์น˜๋œ minikube์˜ ๋ฒ„์ „์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

minikube ์„ค์น˜๋Š” ์ •๋ง ์ด๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ์ฐธ ์‰ฝ์ฃ ?

์ด์ œ minikube๋กœ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2๏ธโƒฃminikube๋กœ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ

๊ธฐ๋ณธ์ ์ธ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ์€ minikube start ๋ช…๋ น์–ด ๋งŒ์œผ๋กœ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, minikube์—๋Š” Profile์ด๋ž€ ๊ฐœ๋…์ด ์žˆ์–ด์„œ minikube๊ฐ€ ์ƒ์„ฑํ•˜๋Š” Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋งˆ๋‹ค ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

minikube start -p {ํ”„๋กœํ•„๋ช…} ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›ํ•˜๋Š” ์ด๋ฆ„์˜ k8s ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋กœ์ปฌ์—์„œ ๋‹ค์–‘ํ•œ Kubernetes ์‹ค์Šต๊ณผ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ์— ์šฉ์ดํ•˜๋„๋ก ์šฐ๋ฆฌ๋„ minikube์˜ Profile ์˜ต์…˜์„ ํ™œ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์„œ k8s-test๋ž€ ์ด๋ฆ„์˜ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

minikube start -p k8s-test

๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์ด minikube๊ฐ€ k8s-test๋ผ๋Š” ์ด๋ฆ„์˜ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์ด ํ„ฐ๋ฏธ๋„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

minikube start ๋ช…๋ น์–ด ์‹คํ–‰์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด ์‹ค์ œ๋กœ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ด์•ผ๊ฒ ์ฃ ?

minikube status ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด minikube ํด๋Ÿฌ์Šคํ„ฐ์˜ ํ˜ธ์ŠคํŠธ, kubelet, Kubernetes API ์„œ๋ฒ„ ๋“ฑ์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ฐ„๋žตํžˆ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ด๊ฑธ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ ์ค‘์ธ์ง€, ์ฃผ์š” Kubernetes ์ปดํฌ๋„ŒํŠธ์— ๋ฌธ์ œ๋Š” ์—†๋Š”์ง€ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

์ €ํฌ๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ Profile์„ ์ง€์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

minikube status -p k8s-test

๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์ด k8s-test ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ์ •์ƒ ์ž‘๋™ ์ค‘์ด๋„ค์š”!

3๏ธโƒฃkubectl ์—ฐ๋™ ์—ฌ๋ถ€ ํ™•์ธ

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด kubectl CLI๊ฐ€ ํ•„์š”ํ•˜์ฃ . ์ œ ๋กœ์ปฌ PC์—๋Š” ์ด๋ฏธ kubectl์ด ์„ค์น˜๋˜์–ด ์žˆ์—ˆ๋Š”๋ฐ์š”.

์•„์ง ์ด kubectl์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ฌด๊ฒƒ๋„ ๊ฑด๋“ค์ง€ ์•Š์•˜์ง€๋งŒ, kubectl์œผ๋กœ Pod๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด์ธ kubectl get pod๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

'default Namespace์— ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†๋‹ค'๋Š” ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋„ค์š”. kubectl์ด ํด๋Ÿฌ์Šคํ„ฐ์™€ ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค! ๊ทผ๋ฐ... ์™œ ๋˜๋Š” ๊ฑธ๊นŒ์š”?

minikube๊ฐ€ k8s-test ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด์„œ ๊ธฐ์กด kubectl์˜ ์„ค์ •์„ ๋ฐ”๊พธ๊ธฐ๋ผ๋„ ํ•œ ๊ฑธ๊นŒ์š”?

๋งž์Šต๋‹ˆ๋‹ค! minikube start ๋ช…๋ น์–ด๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด์„œ kubectl์ด minikube๊ฐ€ ์ƒ์„ฑํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์ปจํ…์ŠคํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ฑฐ๋“ ์š”.

๊ทธ๋ž˜์„œ minikube start ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋œ ๋‹ค์Œ kubectl config current-context ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์„œ ์‚ฌ์šฉ ์ค‘์ธ kubectl์˜ ์ปจํ…์ŠคํŠธ๋ฅผ ์กฐํšŒํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด kubectl์ด k8s-test ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋‹ค๊ณ  ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

4๏ธโƒฃminikube Dashboard ์‚ดํŽด๋ณด๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ดํŽด๋ณผ ๊ธฐ๋Šฅ์€ minikube์˜ ๋Œ€์‹œ๋ณด๋“œ์ž…๋‹ˆ๋‹ค.

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์›น ๊ธฐ๋ฐ˜ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์‹คํ–‰ํ•ด์„œ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋„์›Œ์ฃผ๋Š” ๊ธฐ๋Šฅ์ธ๋ฐ์š”.

์ด๋ฅผ ํ†ตํ•ด Pod๋‚˜ Deployment, Service ๋“ฑ Kubernetes ๋ฆฌ์†Œ์Šค ์ •๋ณด๋ฅผ GUI ํ™˜๊ฒฝ์—์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ ์กฐํšŒํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ๊ด€๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ k8s-test ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

minikube dashboard -p k8s-test

๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์ด ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ๋™์ž‘ ์ค‘์ด๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์— ํ‘œ์‹œ๋˜๋Š” ๋ฉ”์‹œ์ง€ ๊ฐ€์žฅ ์•„๋ž˜์˜ URL์„ ํด๋ฆญํ•˜๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ์€ ํด๋Ÿฌ์Šคํ„ฐ์— ์•„๋ฌด ๋ฆฌ์†Œ์Šค๋„ ์—†์ง€๋งŒ, ์‹ค์Šต์ด๋‚˜ ํ…Œ์ŠคํŠธํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐฐํฌํ•˜๋”๋ผ๋„ ๋Œ€์‹œ๋ณด๋“œ๋กœ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

5๏ธโƒฃ์‚ฌ์šฉํ•˜๋˜ minikube ํด๋Ÿฌ์Šคํ„ฐ ์ค‘์ง€ํ•˜๊ธฐ

๋งŒ์•ฝ minikube ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์‹ค์Šต์ด๋‚˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งˆ์ณค๋‹ค๋ฉด minikube stop ๋ช…๋ น์–ด๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฉˆ์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ์— ์‚ฌ์šฉ๋œ ๊ฐ€์ƒ ๋จธ์‹  ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ค‘์ง€์‹œํ‚ค์ง€๋งŒ ๋ฐ์ดํ„ฐ๋Š” ์œ ์ง€๋˜๋Š”๋ฐ์š”.

๊ทธ๋ž˜์„œ ๋‹น์žฅ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง„ ์•Š์ง€๋งŒ ๋‚˜์ค‘์— ์ด์–ด์„œ ์ž‘์—…์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ์— ๋กœ์ปฌ PC์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด minikube stop ๋ช…๋ น์–ด๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ค‘์ง€์‹œํ‚ต๋‹ˆ๋‹ค.

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ k8s-test ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ค‘์ง€์‹œ์ผœ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

minikube stop -p k8s-test

๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด๋‹น ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋…ธ๋“œ๊ฐ€ ์ค‘์ง€๋˜์—ˆ๋‹ค๋Š” ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ”ญ๋งˆ๋ฌด๋ฆฌ

์ง€๊ธˆ๊นŒ์ง€ Kubernetes ์‹ค์Šต๊ณผ ํ…Œ์ŠคํŠธ์— minikube๊ฐ€ ์œ ๋ฆฌํ•œ ์ด์œ ์™€ ์„ค์น˜ ์ „ ์œ ์˜ํ•  ์ , minikube์˜ ๊ธฐ๋ณธ์ ์ธ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊นŒ์ง€ ์•Œ์•„๋ดค๋Š”๋ฐ์š”.

minikube์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์•„์ง ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์•˜๋˜ ๋ถ„๋“ค์—๊ฒŒ๋„ ์ด ๊ฐ€์ด๋“œ๊ฐ€ ๋„์›€์ด ๋  ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

minikube๋ฅผ ์„ค์น˜ํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ๊ณผ ๊ด€๋ฆฌ๊นŒ์ง€ ํ•ด๋ดค์œผ๋‹ˆ, ์‹ค์ œ๋กœ ์ด ํด๋Ÿฌ์Šคํ„ฐ ์œ„์—์„œ Kubernetes ์‹ค์Šต์ด๋‚˜ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํˆด์„ ์‚ฌ์šฉํ•ด๋ด์•ผ๊ฒ ์ฃ ?

๊ทธ๋ž˜์„œ ๋‹ค์Œ ๊ธ€์—์„œ๋Š” minikube ์œ„์—์„œ Kubernetes ๋ฐ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํˆด์„ ์‚ฌ์šฉํ•ด๋ณด๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Œ€ํ•ด์ฃผ์„ธ์š”!

์ฐธ๊ณ ๋ฌธ์„œ

โœจ์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ๋Š” ์–ด๋– ์…จ๋‚˜์š”?

์ด๋ฒˆ ๊ธ€์—์„œ ๋‹ค๋ฃฌ ์ฃผ์ œ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”! ๋‰ด์Šค๋ ˆํ„ฐ๋ฅผ ๋” ๋‚˜์€ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ํผ์—์„œ ์งง์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์žˆ์–ด์š”.

๐Ÿ‘‰ ํ”ผ๋“œ๋ฐฑ ๋ณด๋‚ด๊ธฐ (1~2๋ถ„ ์†Œ์š”)

์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์†Œ์ค‘ํ•œ ์˜๊ฒฌ์€ Aidenโ€™s Lab ๋‰ด์Šค๋ ˆํ„ฐ์—๊ฒŒ ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค!

๐Ÿ”ญAidenโ€™s Lab์—์„œ ๋” ๋งŽ์€ ์•„ํ‹ฐํด์„ ๋งŒ๋‚˜๋ณด์„ธ์š”

๋ฐœํ–‰๋œ ๋‰ด์Šค๋ ˆํ„ฐ๋ฅผ ์•„์นด์ด๋น™ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ ์ค‘์ž…๋‹ˆ๋‹ค.