Week6
📝 이번 주 목표
📚 강의 내용 정리
(1) 쿠베플로우 소개
쿠베플로우 개요
- 쿠베플로우(Kubeflow) = Kube + flow
- 핵심 기능
- 조합가능성(Composability) : 각 Stage를 독립적으로 사용 또는 엔드 투 엔드 파이프라인 구성 가능
- 이식성(Portability) : 특정 개발환경에 종속될 필요가 없다.
- 확장성(Scalability) : 클러스터의 요구에 따라 동적으로 확장 가능
쿠베플로우 기본 개념
- Central dashboard
- 쿠베플로우 대시보드 (주요 인터페이스)
- 파이프라인 등록 및 실행, 결과 확인 등
- JupyterHub
- 쿠베플로우 노트북
- 프로토타이핑과 실험 단계 담당
- Kubeflow pipelines Argo
- 쿠베플로우 파이프라인 (Airflow와 비슷)
- 여러 job 에 대한 dependency 정의, 실험과정 표준화
- 사용법
@kfp.dsl.python_component decorator : 함수를 파이프라인 컴포넌트로 추상화
kfp.compiler.build_python_component : 추상화된 함수를 도커 이미지로 만들어줌
@kfp.dsl.pipeline : 여러 컴포넌트들의 상관관계를 정의하여 pipeline을 만든다.
kfp.compiler.Compiler.compile : 파이프라인을 YAML 형태로 패키징 -> 쿠베플로우 대시보드에 업로드 가능
- Katlib
- TFJobs
- 비동기 학습 또는 오프라인 추론 시 사용 가능
- KFServing
- MinIO
- 파이프라인 간의 저장소 기능
- 파이프라인 중간에 생기는 부산물들 저장
- Istio
쿠베플로우 환경 구축
- 도커 및 쿠버네티스 환경 구축
- 쿠베플로우 설치
- 쿠베플로우 포트포워딩