Kubernetes

[helm] helm chart를 사용하여 install한 apache superset Version Upgrade

크라우니 2024. 3. 2. 00:14

 

이번에 회사에서 사용하는 Apache Superset의 버전을 업그레이드 하자는 내부적인 이야기를 하게되면서 해본 경험을 정리하게 됐습니다.

 

우선 현재 상황을 간략하게 목록화 해보자면

1. BI/운영 Dash Board로 사용하고 있는 Apache Superset의 현재 버전은 2.1 버전으로 Chart Version은 0.9.7 버전이다.

2. 인프라 이전을 준비하고 있고 인프라 이전을 할 때 Superset의 버전을 최신 Stable version으로 바꿔보자

 

만약 변경하게되면 발생하는 장단점은?

 

장점

1. apache Superset을 최신 Stable version으로 변경하면 pandas의 버전이 기존 1.x 에서 2.x로 변경되어 속도적 측면에서 강점이 생긴다.

2. 새로 생긴 차트를 활용할 수 있다.

 

단점

1. 기존에 사용하고 있던 dash board에 문제가 생길 수 있을지도 모른다.

 

최근 저희는 Superset에 사용하던 DB를 mariaDB -> Redshift로 변경을 했던터라 기존 대시보드를 사용하는 사용자들이 이전보다 느려졌단 얘기를 했던터라 속도 개선 측면에서 얼마만큼의 개선이 있을지 모르겠지만 시도해볼만 하다 생각했습니다.

 

자 여기까지가 의사결정까지 오게된 과정이고 이제 업그레이드를 시작해볼가요??

 

사실 굉장히 간단합니다. Helm Chart에서 upgrade를 위하여 아주 잘~~ 해놓았기 때문이죠..

 

목표 버전

Superset version : 3.1

Superset Helm Chart : 0.12.x

 

CMD

helm upgrade --install superset superset/superset --version 0.10.7 -f ./value.yaml --debug

우선 첫번째로 버전을 3.01로 설정하고 있는 Chart의 버전이 0.10.7이었기 때문에 우선 이녀석으로 업그레이드 해줍니다.

 

실험결과 (제가 잘못했을 수 있습니다.)

이 명령어를 바로 목표 버전으로 업그레이드를 했을 때 pg_magration Pod에서 Error를 생성하여 정상정으로 upgrade되지 않는 문제가 발생하여 단계적으로 올라갑니다.

helm upgrade --install superset superset/superset --version 0.12.3 -f ./value.yaml --debug

이렇게 두번의 upgrade --install을 진행하면 버전이 정상적으로 설치되는것을 볼 수 있습니다..

 

아마 다른 open source 도 이런식으로 계단식 업그레이드를 진행해야 할것 같습니다. 적어도 DB마이그레이션이 있는이상이요

 

추가로

Value.yaml파일은 아래 명령어로 설치하고자 하는 helm chart버전에 맞게 내려받은 뒤 기존 value.yaml파일의 정보를 덧씌워서 작업했습니다.

여기에서는 직접 명령어를 통한 인스톨했다고 써있지만. 저희는 지금 helm chart배포는 CI/CD를 사용하고 있기 때문에 사실상 직접 하진 않았습니다! (원리는 같습니다)