AWS EKS 클러스터에서 Kubeflow 사용하기 - Kubeflow 설치하기

해당 포스팅은 AWS EKS 클러스터 기반에서 Kubeflow를 사용하기 위한 과정을 다룬 시리즈 중 두번째 포스팅입니다.
Kubeflow 설치과정을 다룰 예정이니 AWS EKS 클러스터 구축은 이전 포스트를, 예제 실행은 다음 포스트를 참고해주세요.

시리즈

  • AWS EKS 클러스터 구축하기
  • Kubeflow 설치하기
  • Kubeflow 예제 실행해보기

Kubeflow 설치

AWS EKS와 호환이 검증된 kubeflow 1.2버전을 설치합니다.

  • 이전 포스트에서 구축한 Bastion Server에 kubeflow 1.2버전 다운로드 및 압축해제
curl -L -O -J https://github.com/kubeflow/kfctl/releases/download/v1.2.0/kfctl_v1.2.0-0-gbc038f9_linux.tar.gz
tar -xvf kfctl_v1.2.0-0-gbc038f9_linux.tar.gz
  • kfctl 파일을 bin 폴더로 이동
mv ./kfctl /usr/local/bin 
  • kubeflow 배포에 필요한 환경변수 설정
export PATH=$PATH:"/usr/local/bin"
export CONFIG_URI="https://raw.githubusercontent.com/kubeflow/manifests/v1.2-branch/kfdef/kfctl_aws.v1.2.0.yaml"
export AWS_CLUSTER_NAME=kube-test
  • 설치 폴더 생성 및 manifest 다운로드
mkdir ${AWS_CLUSTER_NAME} && cd ${AWS_CLUSTER_NAME}
wget -O kfctl_aws.yaml $CONFIG_URI
  • kubeflow apply
kfctl apply -V -f kfctl_aws.yaml

주의사항

설치까지 수 분이 소요될 수 있습니다.
이전 포스트에서 언급했듯이 너무 낮은 스펙의 EC2를 노드로 설정하면 apply과정에서 에러가 발생할 수 있습니다.

  • kubectl 명령어로 pod들의 동작 확인
kubectl -n kubeflow get all

Kubeflow 대시보드 접근

  • Kubeflow 서비스 Endpoint 확인
kubectl get ingress -n istio-system
  • 만약 확인이 안되는 경우
kubectl port-forward --address=0.0.0.0 -n istio-system svc/istio-ingressgateway 8080:80

주의사항

포트포워딩 하는 경우 접근해야 하는 ip는 클러스터 ip가 아닌 Bastion Server ip입니다.

정리

해당 포스팅에서는 Kubeflow 설치하고 대시보드에 접근하는 과정을 진행해보았습니다.
다음 포스팅에서는 간단한 예제를 실행해보겠습니다.

좋은 웹페이지 즐겨찾기