[MLOps] Kubeflow 실습

GisangLee·2023년 3월 25일
0

ML

목록 보기
140/141

1. Prerequisite 개념

kustomize

Helm과 비슷한 개념

  • 여러 개의 yaml 파일들을 쉽게 관리하기 위한 도구
  • 여러 resource 들의 configuration을 템플릿(base)과 커스터마이제이션한 부분
    (overlay)을 나누어서 관리할 수 있는 도구
  • kustomize build 커맨드로, base + overlay가 merge된 형태의
    yaml 파일들을 generate 할 수 있음.


2. 설치 방법

Kfctl

  • v1.2 이후로는 공식적으로 지원하지 않음

Minikf

  • 아직 v1.3까지만 릴리스
  • kubeflow가 이미 설치되어있는 vm 이미지를 사용하여 Vagrant 쉽게 설치 가능

Kubeflow manifests

  • 공식 릴리즈 관리용 Repository
  • Kustomize v3 기반으로 manifests 파일 관리
  • 가장 정상적인 방법


3. 설치

kustomize 설치


# https://kubectl.docs.kubernetes.io/installation/kustomize/

# Mac OS
$ brew install kustomize

$ kustomize version

# 쿠버네티스 버전 확인
$ kubectl version --short --client

minikube start

$ minikube start --driver=docker \
  --cpus='4' --memory='6g' \
  --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \
  --extra-config=apiserver.service-account-issuer=kubernetes.default.svc
  
# $ minikube start --driver=docker \
  --cpus='4' --memory='6g' \
  --kubernetes-version=v1.26.3 \
  --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \
  --extra-config=apiserver.service-account-issuer=kubernetes.default.svc

Git clone kubeflow/manifest

$ git clone https://github.com/kubeflow/manifests.git
$ cd manifests

각각의 kubeflow 구성요소 순서대로 설치

  • kustomize build의 동작 확인해보기
$ kustomize build common/cert-manager/cert-manager/base

# | pipe 연산자를 활용하여, kustomize build의 결과물을 kubectl apply -f - 하여 적용

3. Kubeflow 접속

$ kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80
profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/

0개의 댓글