[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/