본문 바로가기

전체 글

(42)
MiniKF - Tutorial 따라하기_Taxi Cab #3 튜토리얼 진행을 통해 현재 데이터는 /home/jovyan/data 경로에 data라는 이름의 데이터 볼륨에 저장되었다. 파이프라인에서 data 볼륨의 데이터를 인식하기 위해서는 볼륨 스넵샷이 필요하다. 하지만 튜토리얼에서는 데이터 볼륨이 아닌 JupyterLab 전체를 스냅샷으로 만들었다. 아마도 연습을 위해 전 과정을 반복할 경우 이전 상태로 돌아가기 쉽도록 전체 스냅샷을 만든 것 같다. 스냅샷을 생성하려면 우선 Bucket을 만들고 Bucket에서 스냅샷을 생성해야한다. 1. Bucket 생성하기 스냅샷은 MiniKF에 기본 제공되는 Rok를 사용를 사용하며, Kubeflow UI Dashboard의 왼쪽 메뉴 중 "Snapshot Store" 또는 MiniKF 메인 UI의 "Connect to R..
Docker - 설치 지금까지 경험한 Docker에 대한 지식들을 정리할 목적으로 기본적인 도커 설치 방법과 관리 방법을 작성한다. 이 후 Docker를 이용하여 여러 가지 SW를 설치했던 것들을 차근차근 정리하려고 한다. 설치 환경 OS : CentOS 7.x Docker : CE 17.xx 도커 설치 1. 패키지 업데이트 yum update -y && yum upgrade -y 2. 도커 및 레지스트리 설치 yum install -y docker docker-registry 3. 도커 실행 및 활성화 systemctl enable docker.service systemctl start docker.service 도커 설정 1. 시스템계정(root)가 아닌 사용자 계정으로 도커를 사용할 수 있도록 별도의 계정을 생성 use..
MiniKF - Tutorial 따라하기_Taxi Cab #2 (작성중) Kubeflow Pipeline을 작성하는 두가지 방법 kfp.dsl 패키지의 ContainerOP 사용 : ML Workflow의 각 Step을 독립적으로 수행가능한 Component(container 형태)로 패키징하고, ContainerOP의 매개변수로 container Image를 전달하여 사용(Tips: GCP환경에서는 Pipeline SDK를 사용하여 각 Step을 Container로 바로 빌드할 수 있는 container build 기능을 제공) kfp.dsl 패키지를 사용하여 Python 함수를 Pipeline으로 변환 : Docker Image가 필요없이 DSL SDK를 사용하여 Python 코드를 직접 YAML 형식으로 컴파일하여 사용 Taxi Cab 튜토리얼의 Pipelin..
MiniKF - Tutorial 따라하기_Taxi Cab #1 Kubeflow의 On-premise 버전인 MiniKF의 Hands-on 튜토리얼을 따라 실습해 보았다. 실제 Kubeflow 를 활용하려면, Kubernetes Cluster를 구성하거나, Public Cloud Vendor에서 제공하는 AKS, GKE, EKS 에 Kubeflow를 설치해야한다. Arrikto MiniKF는 Vagrant와 VirtualBox 기반으로 설치가 매우 간편하기 때문에 Kubeflow의 기능을 학습하는데 용의하기 때문에 튜토리얼의 내용을 따라 직접 실습해 보면서 Kubeflow의 기본 기능과 활용 방법을 기록해 본다 1. MiniKF 설치하기 Arrikto가 제공하는 MiniKF 설치는 매우 간단하다. (MiniKF 설치 참고하여 설치) [실습환경] Windows10 x6..
MiniKF - Jupyter Notebook 커스텀(ML) 기존에 만들어 본 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 a..
MiniKF - Jupyter Notebook 커스텀(기본) Jupyterlab의 기본 이미지를 사용하여 Custom Notebook을 만든다. 1. Dockerfile 생성 FROM python:3.6 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 \..
Kubernetes 관리 - k9s 일반적으로 Kubernetes(이하 k8s)의 pod, service 등 리소스를 관리하기 위해서는 kubectl 커맨드라인을 사용해도된다. 하지만 k9s를 사용하면 콘솔창에서 보다 쉽게 k8s의 리소스를 확인하고, 관리할 수 있다. k9s 설치 OS : Ubuntu 16.04 설치 디렉토리 생성 sudo mkdir /home/k9s k9s 다운로드 및 설치 wget https://github.com/derailed/k9s/releases/download/v0.21.7/k9s_Linux_x86_64.tar.gz tar zxvf k9s_Linux_x86_64.tar.gz sudo mv k9s /usr/bin k9s 실행 k9s k9s 사용하기 실행화면 k9s 명령어 [출처 : jarikki.tistory...
서버 자동화 #1 - 개요 Server Provisioning(서버 자동화) 이란 IT 인프라 구성 요소 중 서버 자원을 생성하기 위한 일련의 작업을 가리킨다. 이러한 일련의 작업을 자동화하면 IT 시스템을 구성하는 다양한 서버들을 work flow 별 그룹으로 관리할 수 있고, 다양한 OS와 Device 특성(Physical, Virtual) 으로 인한 구성 편차를 제거할 수 있다. 모든 서버 장치들을 계정정책, 보안정책, 패키지 관리 등에 대하여 사전에 정의된 정책에 따라 적용하고, 사용자와 애플리케이션에게 동일한 환경을 제공할 수 있다. 서버 자동화 구성 요소 DHCP 서버 : 서버감지(Guest Machine Diskcover) 후 네트워크 내 사용가능한 IP를 Guest Machine에 할당하며, Pre-boot file..