【 TiDB 使用环境】测试/ Poc
【 TiDB 版本】6.1
【遇到的问题:问题现象及影响】
通过配置ingress访问dashboard
当我请求 ${host}/dashboard, 被重定向到内部服务地址而无法访问
http://tidb-pd-2.tidb-pd-peer.default.svc:2379/dashboard/
【复现路径】
通过tidb-operator 完成默认配置,完成部署6.1
我需要启用pd的Dashboard,根据官方文档,第一步要配置enableDashboardInternalProxy: true
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
name: basic
spec:
pd:
enableDashboardInternalProxy: true
replicas: 3
通过 kubectl apply -f 进行应用
通过 kubectl get TidbCluster basic -o yaml 检查已经存在该值
通过配置ingress访问
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: access-dashboard
namespace: ${namespace}
spec:
rules:
- host: ${host}
http:
paths:
- backend:
serviceName: ${cluster_name}-discovery
servicePort: 10262
path: /dashboard
当我请求 ${host}/dashboard, 被重定向到内部服务地址而无法访问
http://tidb-pd-2.tidb-pd-peer.default.svc:2379/dashboard/
根据文档 修改 TiDB 集群配置 | PingCAP Docs所说,
`在 PD 首次启动成功后,PD 的部分配置项会持久化到 etcd 中,且后续将以 etcd 中的配置为准。因此,在 PD 首次启动后,这些配置项将无法再通过 TidbCluster CR 来进行修改。
PD 中支持在线修改的配置项里,除 log.level 外,其他配置项在 PD 首次启动之后均不再支持通过 TidbCluster CR 进行修改。
对于部署在 Kubernetes 中的 TiDB 集群,如需修改 PD 配置参数,需要使用 SQL、pd-ctl 或 PD server API 来动态进行修改。`
估计是TidbCluster的修改并没有应用到pd上
在sql查询中
show config where type='pd' and name='dashboard.internal-proxy' ;
均返回 false
尝试更新,虽然返回成功,但没有效果,查看仍然是false
set config pd
dashboard.internal-proxy='true';
有帖子说通过导出 TidbCluster 配置,重建后成功,但我担心重建会丢失数据,不敢删掉集群。
【资源配置】
【附件:截图/日志/监控】