GitHub
쿠브플로우 관련 코드 내용은 GitHub에서 관리하고 있습니다.
https://github.com/Seokii/Study-MLOps
1. Kubeflow 대시보드 접속
kubectl port-forward --address 0.0.0.0 svc/istio-ingressgateway -n istio-system 8080:80
kubectl 명령어로 쿠브플로우 대시보드에 접속합니다.
2. Notebook Servers
노트북 서버는 쿠버네티스 위에서 실행되는 주피터 노트북 서버입니다.
쿠버네티스의 리소스 스케줄링을 통해 사용자는 노트북의 설정을 통해 간단히 노트북을 할당받을 수 있습니다. 먼저, 대시보드의 왼쪽에 있는 Notebooks를 클릭합니다.
NEW NOTEBOOK을 클릭합니다.
화면과 같은 구성을 살펴볼 수 있는데 내용은 다음과 같습니다.
- Name : 노트북 서버를 구분할 수 있는 이름
- Namespace : 현재 로그인한 유저의 계정이 자동 지정됨
- Image : sklearn, tensorflow, pytorch 등의 파이썬 패키지가 설치된 jupyter lab 이미지를 선택해 사용할 수 있습니다.추가적으로 커스텀 이미지를 만들어 생성할 수 있습니다.
- CPU/RAM : 노트북이 사용할 cpu와 메모리 할당량을 설정할 수 있습니다. 기본 값은 각각 0.5, 1.0Gi 입니다.
- GPUs : 노트북에 할당할 GPU 개수를 설정할 수 있습니다.
- Workspace Volume : 노트북 서버 내에서 필요한 디스크 용량을 설정합니다.
- Data Volumes : 추가적인 스토리지 자원을 설정할 수 있습니다.
- Configurations : 별도의 환경변수 혹은 시크릿 값 등을 설정할 수 있습니다.
CPU와 RAM의 사용가능한 할당량은 노트북 내에서 만들 수 없으며 다음 명령어를 통해 확인할 수 있습니다.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,CPU:.status.allocatable.cpu,MEMORY:.status.allocatable.memory"
name과 Image를 선택하고 각 항목별로 적절한 설정을 선택한 후 하단의 LAUNCH 버튼을 눌러 노트북서버를 생성합니다.
노트북이 정상적으로 생성되고, connect 버튼을 누르면 런처의 화면이 보입니다.
런처의 아이콘을 클릭해 노트북, 콘솔, 터미널 등의 기능을 사용할 수 있습니다.
노트북 시작이 진행되지 않는다면, 공식 docs의 명령어를 통해 로그 등을 확인할 수 있습니다.
https://www.kubeflow.org/docs/components/notebooks/troubleshooting/
노트북 제거버튼을 이용해 제거가 되지 않는다면, kubectl의 명령어를 통해 제거할 수 있습니다.
kubectl delete notebook "study-mlops" --namespace "kubeflow-user-example-com"
kubectl delete notebook "노트북 이름" --namespace "네임스페이스 이름"
네임스페이스의 이름은 kubectl get profile 명령어로 확인할 수 있습니다.
'MLOps' 카테고리의 다른 글
[MLOps] 쿠브플로우 카티브(Katib) 개념 이해와 설치하기 (0) | 2023.01.08 |
---|---|
[MLOps] 쿠브플로우 페어링(Fairing) mnist 학습하기 (2) | 2023.01.07 |
[MLOps] 쿠브플로우 페어링(Fairing) 개념 이해와 설치하기 (1) | 2023.01.05 |
[MLOps] Ubuntu 20.04에서 docker 및 쿠버네티스와 kubeflow 설치하기 (0) | 2023.01.01 |
[MLOps] 쿠버네티스와 쿠브플로우란? (0) | 2022.12.29 |
댓글