DataEase v2 Kubernetes 部署遇到的问题及其解决方案


飞致云 发布于 2024-09-24 / 115 阅读 / 0 评论 /
本文重点说明在已有 Kubernetes 环境中部署 DataEase v2 版本会遇到的问题及对应的处理。 1 环境要求 部署服务器要求: 操作系统: Ubuntu 22.04 / CentOS 7 64 位系统 CPU/内存: 4核8G 磁盘空间: 200G

本文重点说明在已有 Kubernetes 环境中部署 DataEase v2 版本会遇到的问题及对应的处理。

1 环境要求

部署服务器要求:

操作系统: Ubuntu 22.04 / CentOS 7 64 位系统

CPU/内存: 4核8G

磁盘空间: 200G

2 部署问题及问题处理

2.1 执行 helm install dataease-helm-v2.x.x.tgz 报错显示 Error: could not find tiller

原因:DataEase 安装需要依赖 helm 的 tiller 组件处理请求,通常意味着 Tiller 服务不在 Kubernetes 集群中运行,或者 Helm Client 与 Tiller 之间的连接出现了问题。 

问题处理:

检查tiller服务是否在 Kubernetes 集群中运行。

[root@master ~]# kubectl get pods -A

发现 tiller 服务不存在需要重新初始化创建对应tiller服务

[root@master ~]# vi helm-rbac.yaml
 
helm-rbac.yaml 链接:https://jcnc8shk3xlt.feishu.cn/wiki/YnhfwNutYiWuL8knbEycCcKtnwf?from=from_copylink
 
[root@master ~]# kubectl apply -f helm-rbac.yaml
 
[root@master ~]# helm init -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3 --stable-repo-url http://mirror.azure.cn/kubernetes/charts/ --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -

[root@master ~]# helm install dataease-helm-v2.10.0.tgz

2.2 标准 Kubenetes 部署需要将应用部署到对应的 namespace 中,发现 namespace 为 default 

##查看 helm 中 DataEase 的应用
 
[root@master ~]# helm list
 
##卸载 DataEase 应用
 
[root@master ~]# helm delete de2  (helm V2 版本用法 ,V3 用 uninstall)
 
[root@master ~]# helm delete de2 --purge
 
##设置安装对应的 namespace并重新安装
 
[root@master ~]# kubectl config set-context --current --namespace=de2
 
[root@master ~]# helm install dataease-helm-v2.10.0.tgz -n de2

2.3 NFS 存储类配置失效导致 apisix-dashboard 服务状态为 CrashLoopBackOff  且一直重启

方法一:

##查看服务详细结构和日志查看报错信息
 
[root@master ~]# kubectl describe pod apisix-dashboard-656787d7db-pb2th -n de2

##根据日志显示容器再重启,查看docker服务日志
 
[root@master ~]# systemctl status docker -l

##查看各节点是否有挂载共享 NFS ,若都挂载上,则为 nfs 服务与共享目录之间出现问题
 
[root@master ~]# vi nfs-storage-class.yaml
 
nfs-storage-class.yaml 内容链接:https://jcnc8shk3xlt.feishu.cn/wiki/BkF0w0KN4iKWyRkgXc8cLDQKnLh?from=from_copylink
 
[root@master ~]# kubectl apply -f nfs-storage-class.yaml
 
[root@master ~]# kubectl delete pod apisix-dashboard-656787d7db-pb2th


方法二 :

重装 NFS ,重装文档链接:https://jcnc8shk3xlt.feishu.cn/wiki/DnkpwPQSPipohSkEFE4cO7HlnWe?from=from_copylink

2.4  DataEase 域名访问503报错 ingress 容器 Failed to watch v1.EndpointSlice: failed to list v1.EndpointSlice: the server could not find the requested resource

原因分析:  EndpointSlice API 组件不可用导致 ingress 无法进行域名代理或者 ingress 服务权限不足导致无法访问 EndpointSlice 。

##查看 API 组件是否可用

[root@master ~]# kubectl api-resources | grep EndpointSlice

##修改 rbac.yaml 是否确实有对应的resource
 
[root@master ~]# kubectl delete -f ingress-controller.yaml 
 
[root@master ~]# vi ingress-controller.yaml

##重装后成功访问 DataEase



是否对你有帮助?