기존에 만들어 본 MiniKF - Jupyter Notebook 커스텀(기본) 이미지를 수정하여, kubeflow fairing과 pipeline 기능을 사용할 수 있는 Jupyter Notebook 을 만든다.
- Fairing : Kubeflow가 설치된 환경에서 머신러닝(딥러닝) 모델의 학습과 배포를 지원
- Pipeline : Kubeflow 환경에서 머신러닝(딥러닝) 학습에 필요한 End-to-End Workflow 구성을 지원
1. Dockerfile 생성
FROM python:3.6 tensorflow/tensorflow:2.1.0-py3
WORKDIR /home/vacance
USER root
RUN pip install jupyter -U && pip install jupyterlab
RUN apt-get update && apt-get install -yq --no-install-recommends \
apt-transport-https \
build-essential \
bzip2 \
ca-certificates \
curl \
g++ \
git \
gnupg \
graphviz \
locales \
lsb-release \
openssh-client \
sudo \
unzip \
vim \
wget \
zip \
emacs \
python3-pip \
python3-dev \
python3-setuptools \
&& apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
RUN echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
RUN apt-get update
RUN apt-get install -y kubectl
RUN pip install kubeflow-fairing==0.7.2
RUN pip install kfp==0.5
RUN pip install kfserving==0.2.2.1
RUN pip install kubeflow-kale
RUN pip install dill
RUN pip install jupyterlab && \ jupyter serverextension enable --py jupyterlab --sys-prefix
ARG NB_USER=vacance
EXPOSE 8888 ENV
NB_USER $NB_USER
ENV NB_UID=1000
ENV HOME /home/$NB_USER
ENV NB_PREFIX /
CMD ["sh", "-c", "jupyter lab --notebook-dir=/home/vacance --ip=0.0.0.0 --no-browser --allow-root --port=8888 --LabApp.token='' --LabApp.password='' --LabApp.allow_origin='*' --LabApp.base_url=${NB_PREFIX}"]
붉은색으로 표시한 부분이 기존의 Dockerfile을 수정, 추가한 내용이다. Build와 Push를 수행하여 Repository에 이미지를 등록하면 Kubeflow Central Dashboard에서 커스텀 노트북을 생성할 수 있다.
2. 커스텀 노트북 실행
Central Dashboard에서 Notebook Server로 이동하여 Python3 기반의 Notebook을 실행한다.
이제 이 커스텀 노트북을 사용하여 적당한 데이터-셋을 선정해서 Machin Learning Workflow를 만들고, Kubeflow의 컴포넌트 동작을 확인해 봐야 겠다.
'ML & AI > kubeflow' 카테고리의 다른 글
MiniKF - Tutorial 따라하기_Taxi Cab #4 (0) | 2020.10.13 |
---|---|
MiniKF - Tutorial 따라하기_Taxi Cab #3 (0) | 2020.10.13 |
MiniKF - Tutorial 따라하기_Taxi Cab #2 (0) | 2020.10.06 |
MiniKF - Tutorial 따라하기_Taxi Cab #1 (0) | 2020.10.05 |
MiniKF - Jupyter Notebook 커스텀(기본) (0) | 2020.09.28 |