
์ต๊ทผ ๋ถ์๋ฅผ ์ฎ๊ธฐ๊ฒ ๋๋ฉด์ MLOps ์
๋ฌด๋ฅผ ์์ํ๊ฒ ๋์์ต๋๋ค.
ํ์ฌ ํ์ฌ์์ ์ค์ ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ ํด์ด Kubeflow์ธ๋ฐ, ์ด ํด์ ๋ํด์ ์ฌ์ธต์ ์ผ๋ก ํ๊ตฌํ๊ณ ์ ๊ฐ์ธ์ ์ผ๋ก ์ค์น๋ฅผ ์งํํ๊ฒ ๋์์ต๋๋ค.
๊ทผ๋ฐ... ์ด๊ฒ ์๊ฐ๋ณด๋ค ์ฝ์ง๊ฐ ์์์ต๋๋ค.... ์ ๊ฐ์ ์ฝ์ง์ ํ์ง ๋ง์๋ผ๊ณ ๊ธ์ ์์ฑํฉ๋๋ค....
์์! ๐คธโ๏ธ
์ฐ์ ์ด๋ป๊ฒ ์ค์น๋ฅผ ํ๋์ง๋ kubeflow ๊ณต์ ํ์ด์ง๋ฅผ ํตํด์ ํ์ธํ๋ ๊ฒ์ด ๊ฐ์ฅ ๋ซ์ต๋๋ค. (์ฌ๊ธฐ์ ๊ธฐ ์ฐธ๊ณ ํ๋ฉด์ ์งํํ!๋๋ฐ ์ ๋๋ ๊ฒ์ด ๋๋ฌด ๋ง๋๋ผ... )
๊ณต์ ํ์ด์ง๋ ์๋๋ฅผ ์ฐธ๊ณ ํ์ธ์. ๊ฐ์ฅ ์ต์ ๋ฒ์ ๋ ์์์ ์ ๋ฐ์ดํธ๋๋ ์ฌ๊ธฐ์ ํ์ธํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
https://www.kubeflow.org/docs/started/installing-kubeflow/
Installing Kubeflow
Deployment options for Kubeflow
www.kubeflow.org
์ฌ๊ธฐ ๋ณด์๋ฉด 2๊ฐ์ง ๋ฐฉ์์ผ๋ก kubeflow๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ด ๋ณด์ ๋๋ค. ์ฌ๊ธฐ์ windows๋ฅผ ์ค์นํ๊ธฐ ์ํด์๋ 2๋ฒ์งธ manifest๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ์ด์ฉํด์ผํฉ๋๋ค. (์ ๋ฌธ๊ฐ์ฉ... ใ ใ )

๋งํฌ๋ฅผ ํด๋ฆญ, ํด๋ฆญํ๋ค๋ณด๋ฉด kubeflow manifest github๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
์ฌ๊ธฐ์๋ v1.6๋ฒ์ ์ ๊ธฐ์ค์ผ๋ก ์งํํด๋ณด๊ฒ ์ต๋๋ค.
Readme ํ์ผ์ ํ์ธํ๋ค๋ณด๋ฉด kubeflow๋ฅผ ์ค์นํ๊ธฐ ์ํ ์ ํ ์กฐ๊ฑด์ด ๋ํ๋์์ต๋๋ค.
๊ฐ ์ ํ ์กฐ๊ฑด์ Windows์์ ๋ง์กฑํ๊ธฐ ์ํด์ ์๋ ๋ด์ฉ์ ์คํํด์ค ๊ฒ์
๋๋ค.
- Kubernetes: Docker Desktop ์ค์น
- kustomize, kubectl ๊ฐ ์ต์ ๋ฒ์ ์ค์น
์ฌ์ค kustomize, kubectl ๋ชจ๋ windows์ ์ค์นํด์ ๋ช ๋ น์ ์คํํ ์ ์์ต๋๋ค. ํ์ง๋ง ๊ฐ์ด๋๊ฐ linux ํ๊ฒฝ์ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์ด์์ด, ๋ช๊ฐ์ง ๋ช ๋ น์ด๊ฐ ์คํ๋์ง ์์ ์ ์์ต๋๋ค. (๊ทธ๋ฅ wsl์ ์ค์นํ๋ ๊ฒ์ด ์ ์ ๊ฑด๊ฐ์ ์ข์ต๋๋ค. ใ ใ )

๊ฒฐ๋ก ์! ์๋ ๊ณผ์ ์ ํตํด์ Kubeflow๋ฅผ ์ค์นํด๋ณด๊ฒ ์ต๋๋ค. ๐ค
- Windows์์ WSL ํ๊ฒฝ ๋ง๋ค๊ธฐ
- Docker Desktop ์ค์นํ๊ธฐ
- kustomize, kubectl ์ค์นํ๊ธฐ
- WSL ํ๊ฒฝ์์ Kubeflow ์ค์นํ๊ณ , UI ํ์ธํ๊ธฐ
1. Windows์์ WSL ํ๊ฒฝ ๋ง๋ค๊ธฐ
WSL ์ค์น์ ๋ํ ๋ด์ฉ์ ๋ง์ ๊ณณ์์ ์ ๊ณต๋๊ณ ์์ต๋๋ค.
์ ๊ฐ ์ฐธ๊ณ ํ๋ ์ฌ์ดํธ์
๋๋ค. ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
ํ์ ์ข ๋๋ฆฌ์๋ฉด ์ด๊ฒ ์ค์ ์ด ์๋ชป๋๋ฉด ๋ค์ ์์์ ์์ฃผ ํ์ ์ผ ํฉ๋๋ค. ๋ง์์ ์ค๋น๋ฅผ ํ๊ณ ์ฐจ๊ทผ์ฐจ๊ทผ ์งํํ์๊ธฐ ๋ฐ๋๋๋ค.
https://cpuu.postype.com/post/10265353
Windows 10์ WSL2 ์ผ๋ก Ubuntu ์ค์น
1. ์๋์ฐ ํฐ๋ฏธ๋ ์ค์น Microsoft Store์์ windows termial ์ค์น windows terminal ์ ๊ฒ์ํ ํ ์ฐํด๋ฆญํ์ฌ '๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ' ์์ ๊ฐ์ด ํญ์ "๊ด๋ฆฌ์"๋ผ๊ณ ๊ธฐ์ฌ๋์ด ์์ด์ผ ์งํ ๊ฐ๋ฅ 2. wsl ํ์ฑํ ์
cpuu.postype.com
2. Docker Desktop ์ค์น
ํด๋น ๋ด์ฉ๋ ๋ง์ ๊ณณ์ ์ ๋ฆฌ๊ฐ ๋์ด์์ต๋๋ค.
์๋๋ ๊ณต์ ์ฌ์ดํธ์์ ์๋ ค์ฃผ๋ ๋ด์ฉ์ ์ฒจ๋ถ๋๋ฆฌ๊ฒ ์ต๋๋ค.
https://docs.docker.com/desktop/install/windows-install/
Install Docker Desktop on Windows
docs.docker.com
https://docs.docker.com/desktop/kubernetes/
Deploy on Kubernetes
docs.docker.com
์์ด๊ฐ ์ด๋ ค์ฐ๋ฉด ์๋ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ์ธ์. ใ ใ
https://gurumee92.tistory.com/300
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ ๊ตฌ์ถํ๊ธฐ (2) Docker Desktop
Docker Desktop์ด๋? macOS ํน์ Windows์์ Docker๋ฅผ ์คํํ๊ธฐ ์ํด์ ๋ฐ๋์ ์ค์นํด์ผ ํ๋ ์ํํธ์จ์ด์ด๋ค. ์ค์น ๋ฐฉ๋ฒ์ ๋ค์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ค. ์ด ๋ฌธ์๋ ์ค์น๋ Docker Desktop์ ์ด์ฉํ์ฌ ๋ก์ปฌ kubernetes
gurumee92.tistory.com
๐ก ๋ง์ฝ wsl์์ docker ๋ช ๋ น์ด๊ฐ ๋์ง ์๋๋ค๋ฉด?
- wsl --shutdown ํ์ ๋ค์ ์คํํด๋ด ๋๋ค.
- setting > General์ "Use the WSL 2 based engine ... " ์ต์ ์ ํ์ฑํ ํด๋ด ๋๋ค.
๐ก Resource ๋ณ๊ฒฝ์ ๋ฏธ๋ฆฌํด์ฃผ์
Resource๊ฐ ๋๋ฌด ์ ๊ฒ ์กํ์๋ค๋ฉด kubeflow๋ฅผ ์ค์น๊ฐ ๋๋ฌด ์ค๋๊ฑธ๋ฆฌ๊ฑฐ๋, pod๊ฐ pending ์ํ์ ๊ฐํ ์ ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋ฐ์ดํฐ ์ฌ์ฉ๋์ ๋๋ํ ์ค์ ํด๋ก์๋ค.
3. kustomize, kubectl ์ค์นํ๊ธฐ
์ฐ์ wsl์ ๋ค์ด๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ค์นํฉ๋๋ค.
home์ kubeflow ํด๋๋ฅผ ๋ง๋ค์ด์ ํ์ผ๋ค์ ๊ด๋ฆฌํด๋ด
์๋ค.
cd ~
mkdir kubeflow
cd kubeflow
kustomize ์ค์น (์ฐธ๊ณ : https://kubectl.docs.kubernetes.io/installation/kustomize/binaries/)
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bashs
sudo kustomize /usr/loca/bin/
kustomize version
kubectl ์ค์น (์ฐธ๊ณ : https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
4. WSL ํ๊ฒฝ์์ Kubeflow ์ค์นํ๊ณ , UI ํ์ธํ๊ธฐ
์ ์ด์ ๋ชจ๋ ์ ํ์กฐ๊ฑด์ด ์๋ฃ๋์์ต๋๋ค.
๋ค์ kubeflow manifests github๋ก ๋์๊ฐ๋๋ค.
์ฐ์ git clone์ ํตํด์ manifest๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
git clone https://github.com/kubeflow/manifests.git
# ์ํ๋ ๋ธ๋์น๊ฐ ์๋ค๋ฉด ์ค์
git checkout <branch>
cd manifests
์ญ์ฑ ์ฝ์ด๋ณด๋ฉด ํ ๋ฒ ์ค์นํ๋ ๋ฐฉ๋ฒ์ด ์๊ณ , ๊ฐ ์์๋ค์ ํ๋์ฉ ์ค์นํ๋ ๋ฐฉ์์ด ์์ต๋๋ค. ์์ง ํ๋ํ๋ ํ์
ํ์ง๋ ๋ชป ํ ์ํฉ์์ผ๋ก ํ ๋ฒ์ ์ค์นํ๋ ์ฝ๋๋ฅผ ์คํ์์ผ๋ด
์๋ค.
(kubeflow์ ๋ค์ํ ์ปดํฌ๋ํธ๋ฅผ ์ค์นํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ๊ฝค ์ค๋๊ฑธ๋ฆฝ๋๋ค.)

์ค์น๊ฐ ์๋ฃ๋๋ฉด ์๋ ๋ช
๋ น์ด๋ฅผ ํตํด์ UI๋ฅผ ๋์ด๋ณด๊ฒ ์ต๋๋ค.
(istio๋ kubeflow์ ๊ฐ ์์๋ค์ ์ฐ๊ฒฐํด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ Kubeflow์ UI๋ฅผ forwarding ํจ์ผ๋ก์จ ์ฌ์ฉ์๊ฐ ์น์ผ๋ก ํ์ธํ ์ ์๋๋ก ํฉ๋๋ค.)
์ด๊ฒ ๋๋ฌด ์ค๋๊ฑธ๋ฆฐ๋ค๊ณ ํ๋ฉด docker desktop์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ํ๋์ด์์ ์๋ ์์ต๋๋ค.
์ต์ 8GB๊น์ง๋ ๋๋ ค์ค์๋ค.
kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80
localhost:8080 ์ผ๋ก ์ ์ํ๋ฉด ๋ก๊ทธ์ธ ํ๋ฉด์ด ๋ํ๋ฉ๋๋ค.

๊ธฐ๋ณธ email/password์ readme์์ ํ์ธํ ์ ์์ต๋๋ค.

๊ธฐ๋ณธ ์ด๋ฉ์ผ๋ก ๋ก๊ทธ์ธํ๋ฉด... ์ง ! ์ด๋ ๊ฒ ์นํ๋ฉด์ ํ์ธํ ์ ์์ต๋๋ค. ๐
