songining
article thumbnail

https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-macos/

 

macOS์— kubectl ์„ค์น˜ ๋ฐ ์„ค์ •

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋งˆ์ด๋„ˆ(minor) ๋ฒ„์ „ ์ฐจ์ด ๋‚ด์— ์žˆ๋Š” kubectl ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, v1.23 ํด๋ผ์ด์–ธํŠธ๋Š” v1.22, v1.23, v1.24์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ๊ณผ ์—ฐ๋™๋  ์ˆ˜ ์žˆ๋‹ค. ํ˜ธํ™˜๋˜๋Š” ์ตœ์‹  ๋ฒ„์ „

kubernetes.io

ํ•ด๋‹น ๋งํฌ์— ๋“ค์–ด๊ฐ€ ์—ด์‹ฌํžˆ ๋”ฐ๋ผ ์นœ๋‹ค. 

๋‚œ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋‹จ๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ๊ฐœ๋ฐœ์— ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ–ˆ๋‹ค. 

ํด๋Ÿฌ์Šคํ„ฐ ํ• ๋‹น์„ ์œ„ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ ๋Œ€ํ‘œ์ ์œผ๋กœ minikube๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  docker-desktop์„ ํ†ตํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค. 

(๋‘˜์˜ ์žฅ๋‹จ์ ์„ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๋Š” ๊ธ€์„ ์ฐพ์•˜๋‹ค.)

https://adibsaikali.com/2020/07/25/minikube-vs-docker-desktop-for-local-development/)

-> ๋‚œ minikube๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.

 

1) docker desktop์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ ๋ฐฉ๋ฒ• 

Docker desktop ์‹คํ–‰ -> ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ชจ์–‘ ์„ค์ •๋ฒ„ํŠผ ํด๋ฆญ -> kubernetes -> Enable kubernetes -> Apply& Restart 

 

2) minikube๋กœ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

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

 

minikube start

minikube is local Kubernetes

minikube.sigs.k8s.io

์œ„์˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ๋œ๋‹ค. (๋‚œ brew๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ–ˆ๋‹ค. ์—ญ์‹œ brew ์งฑ) 

minikube start๋ฅผ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ถ€ํŒ…์ด ์™„๋ฃŒ๋œ๋‹ค. ์•Œ๋ก๋‹ฌ๋กํ•ด์„œ ๊ดœํžˆ ๊ธฐ๋ถ„์ด ์ข‹์•˜๋‹ค..ใ…Žใ…Ž

mini kube์˜ ๊ฒฝ์šฐ ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์—ด ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

minikube dashboard

 

minikube ์ƒํƒœ ํ™•์ธ 

minikube status

 

minikube ์ค‘์ง€

minikube stop

 

minikube ์‚ญ์ œ 

minikube delete

+) minikube ์žฌ์‹œ์ž‘์˜ ๊ฒฝ์šฐ๋Š” ๊ทธ๋ƒฅ ๋‹ค์‹œ minikube start ํ•˜๋ฉด ๋œ๋‹ค.

 

- ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ๋งŽ์€ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๋‘๊ฐ€์ง€์œ ํ˜•์œผ๋กœ ๋‚˜๋‰œ๋‹ค. 

1) ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ : ์ „์ฒด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์Šคํ…œ์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ†ต์ œํ•˜๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์„ ๊ด€์žฅ (๊ด€๋ฆฌ์ž) 

    - ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค api ์„œ๋ฒ„ : ์‚ฌ์šฉ์ž, ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ๊ณผ ํ†ต์‹ 

    - ์Šค์ผ€์ค„๋Ÿฌ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์˜ˆ์•ฝ(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ์— ์›Œ์ปค๋…ธ๋“œ๋ฅผ ํ• ๋‹น) 

    - ์ปจํŠธ๋กค ๋งค๋‹ˆ์ € : ๊ตฌ์„ฑ ์š”์†Œ ๋ณต์ œ, ์›Œ์ปค ๋…ธ๋“œ ์ถ”์ , ๋…ธ๋“œ ์žฅ์•  ์ฒ˜๋ฆฌ ๋“ฑ ํด๋Ÿฌ์Šคํ„ฐ ์ˆ˜์ค€ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ 

    - ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€  : etcd๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์„ ์ง€์†์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ์•ˆ์ •์ ์ธ ๋ถ„์‚ฐ 

 

2) ์›Œ์ปค ๋…ธ๋“œ : ์‹ค์ œ ๋ฐฐํฌํ•˜๊ณ ์ž ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰์„ ๋‹ด๋‹น 

    - Kubelet : API ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ณ  ๋…ธ๋“œ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌ

    - Kube-proxy : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ ๋ฐ ์—ฐ๊ฒฐ 

 

kubectl get node

ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ˜„์žฌ ๋งŒ๋“ค์–ด์ ธ์žˆ๋Š” ๋…ธ๋“œ์˜ ๊ตฌ์„ฑ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.