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

김철기·2022년 2월 14일
2

Kubeflow

목록 보기
2/3
post-custom-banner

안녕하세요. Gameeye에서 deeplol.gg 서비스를 개발 중인 김철기입니다.
클라우드 서버 인프라 구축, 백엔드 개발, 딥러닝 모델 연구를 담당하고 있습니다.

해당 포스팅은 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입니다.

  • 기본 계정
    계정: admin@kubeflow.org
    비밀번호 : 12341234

정리

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

profile
Deepveloper, deeplol.gg, fleaman.shop
post-custom-banner

0개의 댓글