在k8s环境部署Apache Superset最新版

说明

Apache Superset是一款开源的数据可视化工具。

官网https://superset.apache.org/

代码https://github.com/apache/superset

文档https://superset.apache.org/admin-docs/installation/installation-methods

构建容器镜像

原容器镜像缺少各类数据库驱动。

参考

https://cnb.cool/zhudev-2025/apache-superset-dev

https://superset.apache.org/admin-docs/installation/docker-builds

说明

在k8s环境部署Apache Superset

参考文档https://superset.apache.org/admin-docs/installation/kubernetes/

下载资源

找一台可以访问GitHub和docker hub的云主机。其中docker hub可参考1ms.run配置加速。

参考https://helm.sh/zh/docs/intro/install快速安装helm工具,

使用helm下载资源包,

helm repoaddsuperset https://apache.github.io/superset helm repo update helm search repo superset

可见下图,注意,版本随时可能更新变化,

helm pull superset/superset--version0.15.5tar-zxfsuperset-0.15.5.tgzcdsuperset# 若遇到失败,可修改value.yaml里的image部分为中国地区镜像。helm dependency buildcd..helm package superset

拉取以下容器镜像

# 拉镜像dockerpull apachesuperset.docker.scarf.sh/apache/superset:latestdockerpull apachesuperset.docker.scarf.sh/apache/superset:6.1.0dockerpull docker.cnb.cool/zhudev-2025/apache-superset-dev:dev-6.1.0dockerpull apache/superset:dockerizedockerpull bitnamilegacy/postgresql:14.17.0-debian-12-r3dockerpull bitnamilegacy/redis:7.0.10-debian-11-r4# 导出为tar离线包dockersave-osuperset-main.tar apachesuperset.docker.scarf.sh/apache/superset:latestdockersave-osuperset-main.tar apachesuperset.docker.scarf.sh/apache/superset:6.1.0dockersave-odocker.cnb.cool/zhudev-2025/apache-superset-dev:dev-6.1.0dockersave-osuperset-dockerize.tar apache/superset:dockerizedockersave-opostgres.tar bitnamilegacy/postgresql:14.17.0-debian-12-r3dockersave-oredis.tar bitnamilegacy/redis:7.0.10-debian-11-r4

将上述内容复制到部署节点。

修改配置

修改value.yaml,文件来自https://github.com/apache/superset/blob/master/helm/superset/values.yaml

生成一个随机字符,

root@master1:/data/superset# openssl rand -base64 42g+nrlyd8LhWedlJnQP8VwsEDuG229IrKWd56HouXClotzLHNIqNkoPFJ

extraSecretEnv改为

extraSecretEnv:{SUPERSET_SECRET_KEY:'g+nrlyd8LhWedlJnQP8VwsEDuG229IrKWd56HouXClotzLHNIqNkoPFJ'}

image部分务必确认是真实存在的镜像,可参考1ms.run配置加速。

部署

helminstallsuperset ./superset-0.15.5.tgz\-nsuperset\--create-namespace\-f./values.yaml

配置nodeport服务
superset-nodeport.yaml的内容是

apiVersion: v1 kind: Service metadata: name: superset-nodeport namespace: superset spec: type: NodePort ports: - port:8088targetPort:8088#nodePort: 30088 # 自定义节点端口,范围30000~32767selector: app: superset# 和原service的标签保持一致,匹配superset pod

部署

kubectl apply-fsuperset-nodeport.yaml-nsuperset

访问

浏览器访问master node1的IP:8088转发的端口,账户密码admin

卸载

部署异常需卸载环境,

helm uninstall superset-nsuperset