[Kubernetes] 4. Minikube๋กœ ์‹œ์ž‘ํ•˜๋Š” kubernetes

๋ฐ˜์‘ํ˜•

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ์ค€๋น„ํ•˜๊ณ  ์ด๋ฅผ ๋งˆ์Šคํ„ฐ์™€ ๊ฐ ๋…ธ๋“œ๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถฐ์•ผ ํ•˜์ง€๋งŒ ์ด๋Š” ์‹ค์ œ ์„œ๋น„์Šคํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‹ค ์„œ๋น„์Šคํ•ด๋ณด๊ธฐ ์ „์— ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žˆ์Šต๋‹ˆ๋‹ค. AWS์˜ EKS, GCP์˜ GKE ๋“ฑ ํด๋ผ์šฐ๋“œ ๋ฒค๋”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ง์ ‘ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์ฒดํ—˜ํ•ด๋ณด๊ธฐ ์œ„ํ•ด ํด๋ผ์šฐ๋“œ ๋ฒค๋”์˜ ๊ฐ’๋น„์‹ผ ๋น„์šฉ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋งˆ์Šคํ„ฐ, ๋…ธ๋“œ์˜ ํ•˜๋“œ์›จ์–ด ์žฅ๋น„๋ฅผ ์ง์ ‘ ๊ตฌ์ž…ํ•˜๋Š” ๊ฒƒ์€ ๋น„์šฉ์ ์œผ๋กœ ๋ถ€๋‹ด์ด ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

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

 

https://github.com/kubernetes/minikube

 

kubernetes/minikube

Run Kubernetes locally. Contribute to kubernetes/minikube development by creating an account on GitHub.

github.com

์œ„์™€ ๊ฐ™์€ ๋น„์Šทํ•œ ์†”๋ฃจ์…˜์œผ๋กœ Ubuntu Linux์˜ ์ œ๊ณต์ž์ธ Canonical์—์„œ๋Š” microk8s๋ผ๋Š” ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

https://microk8s.io/

 

MicroK8s - Zero-ops Kubernetes for developers, edge and IoT | MicroK8s

MicroK8s is the simplest production-grade upstream K8s. Lightweight and focused. Single command install on Linux, Windows and macOS. Made for devops, great for edge, appliances and IoT. Full high availability Kubernetes with autonomous clusters.

microk8s.io

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

 

 

 

 

Minikube

Minikube๋Š” Mini + kube์˜ ์•ฝ์ž๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ• ๊ณผ์ •์„ ๋Œ€ํญ ์ค„์ด๊ณ , ๊ฐ€๋Šฅํ•œ ํ•˜๋‚˜์˜ ๋‹จ์ผ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์‰ฝ๊ฒŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ฒดํ—˜ํ•ด๋ณด๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. 

 

Minikube๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ์‚ฌ์–‘์€ ์œ„์™€ ๊ฐ™์ด ๋“€์–ผ ์ฝ”์–ด ์ด์ƒ์˜ ํ”„๋กœ์„ธ์„œ์™€ ์ตœ์†Œ 2 GB์˜ ๋ฉ”๋ชจ๋ฆฌ๋งŒ ๊ฐ–์ถฐ์ ธ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์š”์ฆ˜ ํ•˜๋“œ๋””์Šคํฌ ํฌ๊ธฐ๋Š” ๋ชปํ•ด๋„ 1 TB ์ด์ƒ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํฐ ๋ฌธ์ œ๋Š” ์—†์„ ๊ฒƒ์ด๋ผ๊ณ  ๋ด…๋‹ˆ๋‹ค.

 

๋‹ค๋งŒ Windows ์šด์˜์ฒด์ œ์—์„œ๋Š” CPU์—์„œ Virtualization Support(๊ฐ€์ƒํ™”) ๊ธฐ๋Šฅ์ด ์ง€์›๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค ์™ธ์— ์šด์˜์ฒด์ œ์—์„œ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ๋™ํ• ์‹œ, VMware, Virtualbox ๋“ฑ์˜ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. 

 

๋˜ Minikube๋Š” NVIDIA GPU Support๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— DeepOps์™€ ๊ฐ™์€ ๋”ฅ๋Ÿฌ๋‹ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋Š” ์‹ค์Šต์— ์žˆ์–ด์„œ๋„ ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๋Š” ๋ชจ์Šต์ด ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜์Œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„์ด๋ผ๋ฉด ์—ฌ๋Ÿฌ๋ชจ๋กœ ์ฒดํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ์†”๋ฃจ์…˜์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ๋ณธ๊ฒฉ์ ์ธ ์„ค์น˜๋ฅผ ๋“ค์–ด๊ฐ€๋ณด๋„๋ก ํ•˜์ฃ .

 

 

 

Minikube ์„ค์น˜

Minikube๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „์—, ๋ฐ˜๋“œ์‹œ Docker๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ๋งŒ์•ฝ Docker๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์•„๋ž˜์˜ ๊ธ€์„ ์ด์šฉํ•ด์„œ ๋จผ์ € Docker๋ฅผ ์„ค์น˜ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

 

https://blog.neonkid.xyz/85

 

Docker, ๊ทธ๊ฒƒ์€ ๋ฌด์—‡์ด๊ณ , ์„ค์น˜๋Š” ์–ด๋–ป๊ฒŒํ• ๊นŒ?

์š”์ฆ˜ Docker ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด ๊ต‰์žฅํžˆ ์ธ๊ธฐ์ž…๋‹ˆ๋‹ค. Docker ์ปจํ…Œ์ด๋„ˆ๋Š” ์•Œ๊ธฐ ์‹œ์ž‘ํ•œ๊ฑด ์ €๋„ ์ž‘๋…„ 10์›”๋ถ€ํ„ฐ์˜€๋Š”๋ฐ, ์ €๋„ ๊ฝค ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. What is Docker? Docker๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ์•„๋งˆ ํ•œ ๋ฒˆ

blog.neonkid.xyz

 

์ด ๊ธ€์—์„œ Minikube ์„ค์น˜๋ฅผ ์œ„ํ•ด ์•„๋ž˜์˜ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

  • Ubuntu Linux 20.04 
  • 32 GB RAM
  • AMD Ryzen 5 3700X 8 Core CPU

์œˆ๋„ ํ™˜๊ฒฝ์ด๋ผ๋ฉด, Virtualbox๋ฅผ ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๊ณ , Mac ํ™˜๊ฒฝ์ด๋ผ๋ฉด Docker Desktop์„ ์„ค์น˜ํ•  ์‹œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์„ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์˜ URL์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

https://minikube.sigs.k8s.io/docs/start/

 

minikube start

minikube is local Kubernetes

minikube.sigs.k8s.io

์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค์—์„œ ์„ค์น˜ํ•  ๋• ์•„๋ž˜์˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  1. Minikube ์„ค์น˜ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  2. Debian Package ๋ฐ”์ด๋„ˆ๋ฆฌ(.deb)๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

 

์„ค์น˜์˜ ๋‚œ์ด๋„๋Š” ๋‘˜ ๋‹ค ํฐ ์ฐจ์ด๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ ์ง„ํ–‰ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

๋จผ์ € Google Storage์— ์žˆ๋Š” Minikube ์„ค์น˜ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ curl ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค.

$ sudo install minikube-linux-amd64 /usr/local/bin/minikube

์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด minikube ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฆฌ๋ˆ…์Šค์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜ํ•  ์‹œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ๋กœ์ธ /usr/local/bin/minikube๋ฅผ ์ด์šฉํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์„ค์น˜๊ฐ€ ๋๋‚˜๋ฉด /usr/local/bin ๊ฒฝ๋กœ์— minikube ํŒŒ์ผ์ด ์ƒ๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์œผ๋กœ DEB(Debian ํŒจํ‚ค์ง€ ๋ฐ”์ด๋„ˆ๋ฆฌ)๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด ์—ญ์‹œ curl ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ Google Storage์— ์žˆ๋Š” Minikube deb ํŒŒ์ผ์„ ๋ฐ›์•„์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb

๋จผ์ € Google Storage์— ์žˆ๋Š” Minikube ์„ค์น˜ DEB ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ curl ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค.

$ sudo dpkg -i minikube_latest_amd64.deb

Debian ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด minikube๋ฅผ ์„ค์น˜ํ•ด์ฃผ๋ฉด ๋์ž…๋‹ˆ๋‹ค.

$ minikube start

minikube start ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„ค์น˜๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  Minikube๋ฅผ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค.

 

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

$ sudo newgrp docker

์ด๋ ‡๊ฒŒํ•˜๋ฉด ์˜ค๋ฅ˜ ์—†์ด ์ž˜ ์ง„ํ–‰๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Done! ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด Minikube ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ œ์–ดํ•  ํ”„๋กœ๊ทธ๋žจ์ธ kubectl ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

kubectl ์„ค์น˜

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

$ snap install kubectl --classic

์šฐ๋ถ„ํˆฌ์—์„œ๋Š” snap ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์ด์šฉํ•ด์„œ kubectl ๋ช…๋ น์–ด๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

kubectl์„ ์„ค์น˜ํ•œ ๋’ค ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด, ์œ„์™€ ๊ฐ™์ด minikube๊ฐ€ ๋งˆ์Šคํ„ฐ ๋ฐ‘์œผ๋กœ ์ž˜ ์„ค์น˜๋˜์–ด ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ•์‹œ, ๋ณ„๋„์˜ ๋งˆ์Šคํ„ฐ ์„ค์น˜ ๋…ธ๋“œ ์„ค์น˜ ๋ฐ API ์—ฐ๊ฒฐ ๊ณผ์ • ์—†์ด ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์‰ฝ๊ฒŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์™€ ๋…ธ๋“œ๊ฐ€ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

Minikube Dashboard

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

 

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

 

๊ทธ๋Ÿฌ๋‚˜ ๊ณ ๊ธ‰ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‚ฌ์šฉ์ž๋“ค์—๊ฒ ๊ทธ๋ ‡๊ฒŒ ์ถ”์ฒœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž์ž˜ํ•œ ๋ผ๋ฒจ ๋“ฑ์ด ์ƒ์„ฑ๋˜์–ด ์˜คํžˆ๋ ค ๊ตฌ์„ฑ YAML ํŒŒ์ผ์ด ๋”์šฑ ๋ณต์žกํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ CLI๋กœ ์‚ฌ์šฉํ•˜์‹œ๊ณ  ์ปค์Šคํ…€์„ ์ž์œ ๋กญ๊ฒŒ ํ•˜์‹ค ์ˆ˜ ์žˆ๋Š” ๋ถ„๋“ค์—๊ฒŒ๋Š” CLI ํ™˜๊ฒฝ์ด ๋” ๋‚ซ์Šต๋‹ˆ๋‹ค.

 

Minikube ๋˜ํ•œ Rancher ์ •๋„์˜ ๋ ˆ๋ฒจ์€ ์•„๋‹ˆ์ง€๋งŒ ๋น„์Šทํ•œ GUI ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ, ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•ด๋ณด๋„๋ก ํ•˜์ฃ .

$ minikube addons list

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” addons๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Minikube ๋˜ํ•œ addons๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ dashboard๊ฐ€ ์ด์— ํ•ด๋‹นํ•˜๋ฉฐ, ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ dashboard๊ฐ€ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ˜„์žฌ dashboard๊ฐ€ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ dashboard๋ฅผ ํ™œ์„ฑํ™” ํ•ด์ฃผ๋„๋ก ํ•ฉ์‹œ๋‹ค.

$ minikube addons enable dashboard

๊ทธ๋Ÿฌ๋ฉด ์œ„์™€ ๊ฐ™์ด dashboard addon์ด ํ™œ์„ฑํ™” ๋˜์—ˆ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ minikube dashboard

์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜๋ฉด minikube dashboard ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์ž๋™์œผ๋กœ ์›น์„ ๋„์›Œ์ค๋‹ˆ๋‹ค.

 

minikube๋ฅผ ๊ตฌ์„ฑํ•œ ๋’ค, ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š์•„ ๊ธฐ๋ณธ์ ์ธ ์„œ๋น„์Šค์™€ ๊ณ„์ •, ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ์ธก ์ƒ๋‹จ์˜ + ๋ฒ„ํŠผ์„ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Minikube dashboard์—์„œ๋Š” Pod ์ƒ์„ฑ์„ ์‰ฝ๊ฒŒ ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ์„œ์‹์„ ํ†ตํ•œ ์ƒ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ณ , Docker Registry ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•œ ๋‹ค์Œ ์›ํ•˜๋Š” ํŒŒ๋“œ ๊ฐฏ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Deploy ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ๊ฐฏ์ˆ˜ ๋งŒํผ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.

 

ํŒŒ๋“œ๋ฅผ 1๊ฐœ๋งŒ ์ฃผ์—ˆ์œผ๋ฏ€๋กœ ํŒŒ๋“œ์ชฝ์— 1๊ฐœ์˜ ํŒŒ๋“œ๋งŒ์ด ๋‚˜ํƒ€๋‚˜๋ฉฐ ์ƒ์„ฑ ์ค‘์ธ ๊ฒฝ์šฐ ์ฃผํ™ฉ์ƒ‰์ด, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๊ฒฝ์šฐ ๋นจ๊ฐ„์ƒ‰, ์ •์ƒ ๋™์ž‘ํ•˜๋ฉด ์ดˆ๋ก์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

 

 

์ด ์˜ค๋ฅ˜๋Š” kubectl CLI์—์„œ ์ œ๊ณตํ•˜๋Š” ์˜ค๋ฅ˜ ๋กœ๊ทธ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ๊ณ ์šฉ์ด ์•„๋‹Œ ์‹ค์ œ ์šด์˜์šฉ์œผ๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ๋ฒจ์ž…๋‹ˆ๋‹ค. 

 

์™ผ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” "๋กœ๊ทธ๋ณด๊ธฐ" ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ, ๋กœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜๋„ ์žˆ๊ณ ,

 

์‰˜ ์‹คํ–‰์„ ํ†ตํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์˜ nginx ์„ค์ •์ด ์–ด๋–ค์‹์œผ๋กœ ๋˜์–ด ์žˆ๋Š”์ง€๋„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

๋งˆ์น˜๋ฉฐ...

๋น„๋ก ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์„ค์น˜๋Š” ๋ณต์žกํ•˜๊ณ  ์–ด๋ ค์› ์ง€๋งŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํŒ€์—์„œ๋Š” Minikube๋ผ๋Š” ๊ฐ„์†Œํ•œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ๋” ๋งŽ์€ ์—”์ง€๋‹ˆ์–ด๋“ค์ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์œผ๋ฉฐ ์ด ์™ธ์—๋„ microk8s ๋“ฑ์„ ์ด์šฉํ•˜์—ฌ๋„ ์‰ฝ๊ฒŒ ์ฒดํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ๋“ฑ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ •๋ง๋กœ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„๋“คํ•œํ…Œ๋Š” ๊ฐœ์ธ์ ์œผ๋กœ Minikube๋ฅผ ๋งŽ์ด ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. GUI ๋„๊ตฌ๊ฐ€ ์ •๋ง ์ž˜๋˜์–ด์žˆ๊ณ , ๋ฌด์—‡๋ณด๋‹ค๋„ ๋Œ€์‹œ๋ณด๋“œ์—์„œ GUI์—์„œ ํ•˜๋Š” ํ–‰๋™๋“ค์„ CLI์˜ ์–ด๋–ค์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํžŒํŠธ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ๋„ ํ•จ๊ณผ ๋™์‹œ์— minikube ๋ช…๋ น์–ด๋ฅผ ์ž˜๋ชป ์ž…๋ ฅํ•˜์—ฌ๋„ ํžŒํŠธ๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ดˆ๋ณด์ž ๋ถ„๋“ค์„ ์œ„ํ•œ ์˜ต์…˜๋“ค์ด ์ •๋ง ๋งŽ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

 

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

 

 

๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments