在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+nrlyd8LhWedlJnQP8VwsEDuG229IrKWd56HouXClotzLHNIqNkoPFJextraSecretEnv改为
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