Helm으로 CVAT설치하기

mingg·2024년 2월 15일
0

쿠버네티스

목록 보기
9/9


두번째! helm으로 CVAT을 설치해보자!

helm?

CVAT deployment on Kubernetes with Helm

Helm은 템플릿 파일들의 집합(이걸 차트라고 함)을 관리하는 쿠버네티스 패키지 매니저 도구이다.

헬름은 차트와 차트압축파일(tgz)를 만들 수 있고 차트 저장소와 연결해 쿠버네티스 클러스터에 차트를 설치하거나 삭제할 수 있다.

https://github.com/helm/charts

snap install helm --classic
helm dependency build

CVAT 공식 Helm은 Helm Chart Repository에 없고, CVAT Github에 Helm Chart가 있어서 해당 깃허브를 클론해야한다.

git clone https://github.com/opencv/cvat.git

여기서 바로 helm chart를 설치하지 않고 다른 dependency Helm Chart를 사용하기 때문에 dependency build를 진행한다.

dependency확인

helm dependency update

또는 dependecny는 Chart.yaml 파일을 통해서 확인할 수 있다.

많은 dependency가 있는데 여기서

  • redis : CVAT job Queue
  • postgreSQL : CVAT 백엔드 DB
  • Nuclio : Model deploy
  • Vector : 분석용 툴 Data pipeline
  • Clickhouse : 분석용 툴 오픈 소스 OLAP DBMS
  • Grafana : 분석용 툴 대시보드
  • traefik : Edge Router, Reverse Proxy 역할(Kubernetes Ingress)

valuse-override.yaml

helm에서 values.yaml 파일 내 정의된 값들을 기반으로 template 내 정의된 오브젝트를 생성한다.

원본 values.yaml을 수정하지 않고 수정할 값들만 따로 valus-override.yaml 파일에 정의하면 overriding 된다.

이렇게 해도 되고 나는 다른 방식으로 더 쉽게 해보기로 했다.
일단 CVAT UI에 접근해보기 위해서 생성된 파드 중에

chart-frontend가 cvat ui라는 것을 알 수 있다. 근데 기본 values.yaml로 install하게 되면 접근이 불가능하다 그렇다면 values.yaml을 수정해보자

기존의 helm 차트를 먼저 삭제하자

helm list
helm uninstall <release_name>
helm show values cvat/cvat > cvat-values.yaml

cvat-values.yaml 파일에 해당부분을 찾아서 수정해주자!!

frontend:
  service:
    type: NodePort

그런 다음 다시 설치

helm install --generate-name -f cvat-values.yaml .

kubectl get all -o wide해서 해당 nodeport의 포트번호를 확인하면!

minikube ip
curl http://<노드-IP>:30783


이렇게 화면을 볼 수 있다!!!

profile
혼자 이것저것 해보는걸 즐깁니다..!

0개의 댓글