[k8s] minikube

minikube๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋„์›Œ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ•™์Šต์ž์šฉ ๋„๊ตฌ๋‹ค.
ํ”„๋กœ๋•์…˜์šฉ์€ ์•„๋‹ˆ๋‹ค.



์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ

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

๊ทธ๋ƒฅ ์•„๋ž˜ ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ
https://kubernetes.io/ko/docs/tutorials/hello-minikube/

๋ฒ„ํŠผ๋งŒ ๋ˆ„๋ฅด๋ฉด ๋ฐ”๋กœ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ

๊ทธ๋Ÿผ kubectl์„ ํ†ตํ•ด์„œ ๋ฐ”๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์งˆ ๊ฒƒ์ด๋‹ค.




์ง์ ‘ ์„ค์น˜ํ•˜๊ธฐ (windows)

windows, linux, mac ์ „๋ถ€ ์ง€์›๋œ๋‹ค.
https://minikube.sigs.k8s.io/docs/start/

windows์˜ ๊ฒฝ์šฐ์—๋Š” ํŒŒ์›Œ์‰˜๋กœ ์—ด์–ด์„œ ์‹คํ–‰ํ•˜๊ณ 

New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force
Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing

์„ค์น˜๊ฐ€ ๋‹ค ๋˜๋ฉด ์ด๋Ÿฐ ๊ฒฝ๋กœ์— ์ƒ์„ฑ์ด ๋  ๊ฒƒ์ด๋‹ค.

ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•˜๊ณ  start ๋ช…๋ น์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด ๋œ๋‹ค.





ํŒŒ๋“œ ์ƒ์„ฑํ•ด๋ณด๊ธฐ

์•„๋ž˜์™€ ๊ฐ™์ด yaml ํŒŒ์ผ์„ ์ •์˜ํ•œ๋‹ค.
์•„๋ž˜๋Š” nginx๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑ์˜ ํŒŒ์ผ์ด๋‹ค.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: container-name
    image: nginx

๊ทธ๋ฆฌ๊ณ  apply ๋ช…๋ น์œผ๋กœ ๋„์šฐ๋ฉด ์˜ฌ๋ผ๊ฐ„๋‹ค.

ํŒŒ๋“œ์— ๋Œ€ํ•œ ๋” ์ž์„ธํ•œ ์‚ฌ์šฉ๋ฒ•๊ณผ ์ •๋ณด๋Š” ๋ณ„๋„ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค.
https://blog.naver.com/sssang97/223013640738





deployment ๋งŒ๋“ค์–ด๋ณด๊ธฐ

์ด๋ฒˆ์—๋Š” deployment๋ฅผ ๊ตฌ์„ฑํ•ด์„œ ์•ž์— ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋‹ฌ์•„๋ณด๊ฒ ๋‹ค.
์šฐ์„  ๋‹ค์Œ๊ณผ ๊ฐ™์ด deployment๋ฅผ ํ•˜๋‚˜ ๋„์šด๋‹ค.

kubectl create deployment hello-node --image=registry.k8s.io/echoserver:1.4

deployment์— ๋Œ€ํ•œ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ๋ณ„๋„ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค.
https://blog.naver.com/sssang97/223027848144




์„œ๋น„์Šค ์ƒ์„ฑ

๊ทผ๋ฐ ์ €๋ ‡๊ฒŒ ๊ทธ๋ƒฅ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ๋งŒ ํ•ด์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ ‘์†์„ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์ „๋ถ€ ๋‚ด๋ถ€ IP๋กœ๋งŒ ๊ฐœ๋ฐฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ, ์ด๊ฑธ ์—ด์–ด์ฃผ๋ ค๋ฉด ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.
์ž์„ธํ•œ๊ฑด ์•„๋ž˜ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค.
https://blog.naver.com/sssang97/223084158042

๋ฐฉ๊ธˆ ๋งŒ๋“  deployment์— ๋Œ€ํ•ด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๊ฐœ๋ฐฉ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

๋กœ์ปฌ ํ™˜๊ฒฝ์ด๋ผ๋ฉด External-ip์— ์ ‘์† ๊ฐ€๋Šฅํ•œ ๋‚ด๋ถ€์•„์ดํ”ผ๊ฐ€ ๋œฐ ๊ฒƒ์ด๋‹ค.



์ฐธ์กฐ
https://kubernetes.io/ko/docs/tutorials/hello-minikube/