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