Error Deploying TiDB Dashboard v6.5.0 on Kubernetes

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: 在k8s上部署v6.5.0的tidb-dashboard报错

| username: 数据小黑

[TiDB Usage Environment] POC
[TiDB Version] v6.5.0
[Reproduction Path] Deploy tidb-dashboard via kubectl
kubectl -n tidb-cluster apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.4.0/examples/basic/tidb-dashboard.yaml
[Encountered Issues: Problem Phenomenon and Impact]
Two issues,
1.
In the configuration of https://raw.githubusercontent.com/pingcap/tidb-operator/v1.4.0/examples/basic/tidb-dashboard.yaml

  baseImage: pingcap/tidb-dashboard
  version: nightly

The image version is incorrect, it should be changed to

  baseImage: pingcap/tidb-dashboard
  version: v6.5.0

I see it has been changed on the master branch, but it hasn’t been updated in the 1.4.0 tag, it should be updated.
2.
After manually modifying the yaml file to use the v6.5.0 image and executing kubectl -n tidb-cluster apply -f tidb-dashboard.yaml, the deployment reports an error:

Fatal glibc error: CPU does not support x86-64-v2

The dashboard cannot be used. I’m a bit curious, what system does the image use, and does it have high requirements for the CPU? Our test environment machines are generally not very new, which limits our usage.

| username: 裤衩儿飞上天 | Original post link

I just deployed the dashboard separately using tiup, and the GLIBC requirements are also high.

bin/tidb-dashboard: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by bin/tidb-dashboard)
bin/tidb-dashboard: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by bin/tidb-dashboard)
bin/tidb-dashboard: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by bin/tidb-dashboard)
bin/tidb-dashboard: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by bin/tidb-dashboard)
| username: 数据小黑 | Original post link

What is your system version?

| username: 裤衩儿飞上天 | Original post link

CentOS Linux release 7.2.1511 (Core)

Deploying the dashboard component separately has high requirements. The built-in dashboard in PD is fine; it should be that the standalone component version is relatively high.

| username: 数据小黑 | Original post link

These are the official system version requirements. Since it is mentioned, it might not guarantee normal operation on 7.2.
I deployed it in k8s, does the dashboard still have CPU preferences?

| username: 裤衩儿飞上天 | Original post link

Whether the dashboard is picky or not, TiFlash is definitely picky.
Anyway, it’s my own test environment, so I’ll just make do with it for now. :rofl:

| username: 数据小黑 | Original post link

As far as I remember, there were no errors when I deployed TiFlash on this hardware. It’s frustrating.
I actually hope that TiFlash can use instruction sets like AVX2 to perform some parallel computing.

| username: 数据小黑 | Original post link

It’s frustrating not being able to see the dashboard. I’m dependent on the dashboard. :sweat_smile:

| username: 裤衩儿飞上天 | Original post link

If you really can’t get through it, just use the built-in dashboard in PD first. :crazy_face:

| username: 数据小黑 | Original post link

I’ll look into how to open it on k8s, :sweat_smile:

| username: liuis | Original post link

It seems that just changing the image address will work. The nightly image is no longer available, so I directly changed it to latest.

| username: 数据小黑 | Original post link

I changed this. I went to hub.docker.com and found only two versions, latest and 6.5.0. These two are the same. The current problem is that the dashboard is not working.

| username: Hacker_5YEF49J7 | Original post link

Yes, I also encountered this problem. Upgrading glibc even caused the system upgrade to fail.

| username: SabaPing | Original post link

Hi there,

Starting from v6.5.0, TiDB Dashboard has become an independent component. The TiDB Operator v1.4.0 on K8S now supports using the TiDBDashboard CRD. TiUP is expected to support the independent deployment of TiDB Dashboard in v6.6.0.

Two issues were mentioned above:

  • The image tag in the documentation link is incorrect. The dev version of the documentation has been fixed, with the tag replaced by the latest. The 1.4.x documentation is currently being fixed.
  • For the glibc issue, please see the description below.

Due to the use of a different base image builder from PD, TiDB, and other core components during our CD process, the glibc version is incompatible with the minimum required version of the kernel.

We are currently resolving this and will replace the v6.5.0 TiDB Dashboard image as soon as possible. You can also use the Dashboard built into PD (this Dashboard will be retained for a while and will not be removed from PD in the short term).

Those with the capability can also compile the dashboard image themselves, referring to contributing.md and dockerfile.

Thank you!

| username: 数据小黑 | Original post link

How do I use the built-in Dashboard in PD on k8s? I couldn’t find any relevant instructions, and the ports for the Dashboard on several PD instances are not open.

| username: SabaPing | Original post link

Please refer to the tutorial here: 访问 TiDB Dashboard | PingCAP 文档中心

| username: 数据小黑 | Original post link

Got it, I’ll test it out.

| username: SabaPing | Original post link

Hi, the example link in the TiDB Operator 1.4.0 documentation has also been fixed. The example uses the latest version.

The TiDB Dashboard version is relatively independent of the kernel. For example, the v6.5.0 Dashboard can support v5.x.x TiDB. When the Operator deploys the Dashboard, it reads the TiDB version and then passes it to this Dashboard startup parameter.

Therefore, using the latest version is relatively safe.

| username: 数据小黑 | Original post link

Okay, I can’t solve the kernel issue. My current test environment is not running yet. I’ll change my deployment template to latest for now.

| username: Billmay表妹 | Original post link

The repaired TiDB Dashboard image for v6.5.0 is expected to be released this week. At that time, the image under the following two tags will be directly replaced:

  • pingcap/tidb-dashboard:latest
  • pingcap/tidb-dashboard:v6.5.0