728x90

 

포스팅을 시작하며

쿠버네티스 환경에서 superset 설치하는 방법을 검색했을 때 내용들이 대부분 굉장히 단순했다. 실제 설치했을 때 2가지 이슈가 발생하였고 이것을 조치하면서 정상적으로 확인할 수 있었다.

이번 포스팅을 보고 따라하면 실패 없이 한 번에 성공할 수 있게 작성할 것이다.

 

Superset 설치 따라하기

Superset을 설치하기 전에 먼저 helm이 설치되어 있어야한다. helm은 쿠버네티스의 패키지 관리를 하는 중요한 도구이기 때문에 설치가 되어있다고 가정하고 진행하겠다.

먼저 helm에 superset을 설치할 수 있는 repository 경로를 추가한다.

[root@docker04 superset]# helm repo add superset http://apache.github.io/superset/
[root@docker04 superset]# helm repo list
NAME            URL
superset        https://apache.github.io/superset

 

superset values 파일을 생성한다.

[root@docker04 superset]# helm show values superset/superset > superset-helm.yaml

 

편집기로 yaml파일을 바로 편집 해야한다.

[root@docker04 superset]# vi superset-helm.yaml

 

postgresql의 storageClass를 주석을 풀고 rook-ceph storage와 매핑한다.

~~~
postgresql:
  enabled: true
  auth:
    existingSecret:
    username: superset
    password: superset
    database: superset

  image:
    tag: "14.6.0-debian-11-r13"

  primary:
    persistence:
      enabled: true
      # rook-ceph storage와 매핑
      storageClass: rook-ceph-block
      accessModes:
        - ReadWriteOnce
    service:
      ports:
        postgresql: "5432"
~~~

(혹시 rook-ceph 설치 방법을 모르시는 분들은 아래 포스팅을 정독하고 오시기 바랍니다.)

https://jfbta.tistory.com/288

 

[kubernetes] CentOS에서 rook-ceph 설치 및 삭제하기

목차 시작하며 k8s환경을 구축한 이후 jupyter와 superset을 설치하였는데 이상하게 정상적으로 실행되지 않았다. 에러 로그를 추적하면서 pv, pvc, storageClass에 존재를 알게 되었고 이것을 사용해야지

jfbta.tistory.com

 

SECRET_KEY를 주석 푼 후 작성하자

~~~
configOverrides:
  secret: |
    # SECRET_KEY의 value는 이것을 실행하여 채움 -> openssl rand -base64 42
    SECRET_KEY = 'pSbzYp1Wf+JMWugYeawWbiBhKChO7WcWoCy8tT/907aicqrjjZ3/MxA7'
~~~

 

Service type 변경 후 IP와 nodePort 할당

~~~
service:
  type: LoadBalancer
  port: 8088
  annotations: {}
  loadBalancerIP: 11.123.50.250
  nodePort:
    http: 30364
~~~

 

superset전용 namespace를 생성한다.

[root@docker04 superset]# kubectl create namespace superset-ns

 

이제 superset을 설치하자

[root@docker04 superset]# helm upgrade --install --values superset-helm.yaml superset superset/superset --namespace superset-ns

superset이 이미 설치가 되어 있다면 upgrade를 아니면 install을 실행한다는 문법이다.

 

마지막으로 Service를 조회한 후 등록된 IP와 Port로 웹 접속을 해보자

[root@docker04 superset]# kubectl get svc -n superset-ns
NAME                      TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)          AGE
superset                  LoadBalancer   11.123.91.90    11.123.50.250  8088:30364/TCP   12m
superset-postgresql       ClusterIP      11.127.163.12   <none>         5432/TCP         21m
superset-postgresql-hl    ClusterIP      None            <none>         5432/TCP         21m
superset-redis-headless   ClusterIP      None            <none>         6379/TCP         21m
superset-redis-master     ClusterIP      11.123.233.69   <none>         6379/TCP         21m

admin / admin 으로 로그인하면 된다!

728x90
TOP