쿠브플로우 파이프라인 사용 가이드  
목차
웹 UI
쿠브플로우가 없으면 이글 을 보고 설치할 수 있습니다. 😄
컴포넌트
쿠브플로우를 구성하는 논리 요소
사용하기
UI는 버전에 따라 다를 수 있습니다.
쿠브플로우는 빠르게 사용해 볼 수 있는 샘플을 제공합니다. 이번 샘플은 파이썬 연산을 포함하지만, ML 워크로드는 제공하지 않습니다.
- 좌측 탭의 
Pipelines에서[Tutorial] Data passing in python components를 클릭합니다.[Demo] XGBoost - Iterative model training으로 ML 컴포넌트 샘플을 사용해 볼 수 있습니다. 
experiment를 한번도 생성한 적이 없다면,Create experiment를 클릭해 만듭니다. 생성한 적이 있다면,Create run을 클릭합니다.
- 파이프라인 생성에 필요한 값을 입력합니다. 이 샘플은 필요한 모든 값을 기본으로 제공합니다.
입력을 완료했다면 
start를 눌러 파이프라인을 실행합니다.
사진은Default라는 이름의experiment를 사용했습니다. 
- 좌측 탭의 
Experiments을 누릅니다. 지정한experiment이름을 클릭하면Runs목록이 나옵니다. 입력한Run이름을 클릭합니다.
구버전은 좌측 탭의Runs가 존재하기도 합니다 
- 그래프를 확인할 수 있습니다. 그래프의 각 컴포넌트를 클릭해 실행결과를 확인합니다.
 
파이프라인 만들기
[공식]Introduction to the Pipelines SDK
kfp 설치
- 파이썬 3.5 이상
 - 가상환경(conda) 권장
 
$ pip3 install kfp --upgrade
가상환경이 아니라면 권한 오류가 발생할 수 있습니다. --user 플래그를 사용합니다.
$ pip3 install kfp --upgrade --user
이 명령어는 ~/.local/bin에 인스톨하는 명령어입니다.
이는 몇 리눅스 배포(우분투)에서 PATH 환경변수로 등록하지 않습니다.
따라서 ~/.local/bin 경로를 .bashrc 파일에 등록해주어야 합니다.
export PATH=$PATH:~/.local/bin
생성과정
- 존재하는 코드
 - 도커 이미지
 kfp.dsl.ContainerOPkfp.dsl.pipeline.yaml- 웹 UI 또는 
kfp.Client.run_pipeline로 실행 
예제
시간이 부족해 요청하시면 설명하겠습니다.
import kfp
import kfp.components as comp
from kfp import dsl
def print_op(name, msg):
    """Print a message"""
    return dsl.ContainerOp(
        name=name,
        image='alpine:3.6',
        command=['echo', msg],
    )
@dsl.pipeline(
    name='Pipeline v1',
    description=
    """execute whatever you want
    """
)
def pipeline(**kwargs):
    # 메타데이터는 중괄호로 가져옵니다
    # 예) {{pod.name}}
    pr = print_op("print", "hello world!")
    pr2 = print_op("print2", "have a nice day!")
    pr2.after(pr)
if __name__ == '__main__':
    saveName = 'test.yaml'
    
    kfp.compiler.Compiler().compile(pipeline, saveName)
    print("done")
Tips
Jupyter notebook과 연동해 쉽게(?) 사용할 수 있습니다.
