Multipass MicroK8sMac에 Kubeflow 환경 구축
개요
집에서 복숭아철을 만들면서 눈치를 챘어요.
AI 관련 회사에 어렵게 입사했는데 한 해 동안 앱 개발이 부쩍 뜸해진 것 같아요.
AI에 대한 지식이 전혀 향상되지 않았습니다.😫
그래서 연말연시에 좋아하는 것을 배우기로 했어요.
GDBT와 Deep Learning 주변에서 놀고 싶어요.
어쨌든 예전에 살짝 건드렸던 Kubeflow로 현지 환경을 재구성하다
로컬 환경 구축
왠지 옛날 V1이0 정도 만졌을 때.
MiniKF 같은 Vagrantm이나 VirtualBox에서만 많이 쓰는 것 같아요.
뭐랄까, 오랜만에 본 문서(v1.2)를 보니 선택항이 많이 늘었어요.👶
아무튼 Minikube에서 먼저 얘기해주세요.
항상 K8s 주변에 강한 기사를 써주시는 분.
multippass에 환승 기사를 썼어요. 자기도 이쪽으로 가볼게요.
MacOS용 multippass 설치
다운로드 및 설치하려면 여기를 클릭하십시오.
ubuntu를 만들었어요.
$ multipass launch --name ubuntu-lts
$
$ multipass exec ubuntu-lts -- lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
$
$ multipass list
Name State IPv4 Image
ubuntu-lts Running 192.168.64.9 Ubuntu 20.04 LTS
일단 만든 건 지우고.$ multipass stop ubuntu-lts
$ multipass delete ubuntu-lts
$ multipass purge
환경의 제작
multippass로 제작된 ubuntu에 마이크로k8s 설치
환경 만들기
$ multipass launch --name kubeflow --mem 16G --disk 50G --cpus 4
$ multipass shell kubeflow
ubuntu@kubeflow:~$
ubuntu@kubeflow:~$ sudo snap install microk8s --classic
sudo snap install microk8s --classic --channel=latest/edge
microk8s (1.20/stable) v1.20.0 from Canonical✓ installed
ubuntu@kubeflow:~$
ubuntu@kubeflow:~$ sudo microk8s status --wait-ready
microk8s is running
high-availability: no
datastore master nodes: 127.0.0.1:19001
datastore standby nodes: none
ubuntu@kubeflow:~$
ubuntu@kubeflow:~$ sudo usermod -a -G microk8s $USER
ubuntu@kubeflow:~$ sudo chown -f -R $USER ~/.kube
환경 만들기
마지막으로 만든 사용자 그룹 사용
먼저 ubuntu의 instance에서 뽑은 다음에 다시 실시합니다
$ multipass shell kubeflow
ubuntu@kubeflow:~$
ubuntu@kubeflow:~$ microk8s.enable dns dashboard storage
...
Storage will be available soon
ubuntu@kubeflow:~$
ubuntu@kubeflow:~$ microk8s.enable kubeflow
Password [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]:
...
Waited 405s for operator pods to come up, 1 remaining.
Operator pods ready.
Waiting for service pods to become ready.
Congratulations, Kubeflow is now available.
The dashboard is available at http://10.64.140.43.xip.io
...
Congratulations, Kubeflow is now available.마이크로k8s의 kubeflow를 유효하게 하려면 시간이 오래 걸려요.
위의 평론이 나왔는데 어쨌든 성공한 것 같다
Kubeflow Dashboard 방문을 위한 사전 준비
hosts로 추가 설정
모든 포트가mac를 통해 접근할 수 있도록 iptable를 설정합니다
(이 근처에는 문헌에 기재되지 않은 것이 몇 군데 있으니 많은 사람들이 꽉 채울 것이다
$ multipass shell kubeflow
ubuntu@kubeflow:~$
ubuntu@kubeflow:~$ sudo -- sh -c "echo '10.64.140.43\t10.64.140.43.xip.io' >> /etc/hosts"
ubuntu@kubeflow:~$
ubuntu@kubeflow:~$ sudo iptables -P FORWARD ACCEPT
공식에 따라 이런 방식으로 맥의 네트워크에서 SOCKS Proxy 화이트로 설정시스템 환경 설정 -> 네트워크 -> 세부 정보 -> 프록시 > SOCKS 프록시 (검사) -> SOCKS 프록시 (127..0.1:9999)
이거 설정하면 크롬이 있어서 보통 인터넷 검색이 안 되는 장면이 있어서 힘들어요.
Firefox 브라우저에서만 설정
그리고 Proxy session 만들기
$ multipass list
Name State IPv4 Image
kubeflow Running 192.168.64.10 Ubuntu 20.04 LTS
$
$ sudo ssh -i /var/root/Library/Application\ Support/multipassd/ssh-keys/id_rsa -D9999 [email protected]
Last login: Thu Dec 31 14:43:41 2020 from 192.168.64.1
ubuntu@kubeflow:~$
Kubeflow의 Dashboard를 방문해 보도록 하겠습니다.
그리고 Firefox로 다음 방문을 하면 로그인 화면이 보일 거예요.
http://10.64.140.43.xip.io
microk8s.enable kubeflow
입력이 완료되면 표시되는 Username, Password를 입력하면 Dashboard 화면이 보일 것입니다!!문제.
잘 진행됐을 텐데 Notebook Servers가 표시되지 않았습니다.😫
이게 있으면 Jupter notebook을 만들 수 있어요.
그리고 Artifact Store에 sorry hogehoge가 등장했습니다.
한나절 이상 고민하고 많이 해봤는데 모르겠어요.
그래서 얘를 일단 issue에 던져볼게요.
총결산
AI에서 놀고 싶은데 상관없는 곳에 오래 걸렸어 w
당분간 지방 환경의 놀이터에서 여기저기 뛰어다니지 마세요.
GCP에서 Kubeflow 환경 만들기🌝
issue의 답장을 받으면 로컬 구축을 다시 시작해 보세요.👶
Reference
이 문제에 관하여(Multipass MicroK8sMac에 Kubeflow 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ucwork/articles/43e53c64ffc807텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)