Deploy a TiDB Cluster on ARM64 Machines
This document describes how to deploy a TiDB cluster on ARM64 machines.
Prerequisites
Before starting the process, make sure that Kubernetes clusters are deployed on your ARM64 machines. If Kubernetes clusters are not deployed, refer toDeploy the Kubernetes cluster.
Deploy TiDB operator
如果你TiDB运营商v1.3.1或之后,deploy TiDB Operatornormally. You don't need to do the following to change images.
If your TiDB operator is earlier than v1.3.1, the process of deploying TiDB operator on ARM64 machines is the same as the process ofDeploy TiDB Operator on Kubernetes. The only difference is that, you should change the following configuration in the stepCustomize TiDB operator deployment: after getting the
values.yaml
file of thetidb-operator
chart, you need to modify theoperatorImage
andtidbBackupManagerImage
领域,我n that file to the ARM64 image versions.# ... operatorImage: pingcap/tidb-operator-arm64:v1.3.1 # ... tidbBackupManagerImage: pingcap/tidb-backup-manager-arm64:v1.3.1 # ...
Deploy a TiDB cluster
If your TiDB cluster is v5.4.2 or later,deploy the TiDB clusternormally. You don't need to do the following to change images.
If your TiDB cluster is earlier than v5.4.2, the process of deploying a TiDB cluster on ARM64 machines is the same as the process ofDeploy TiDB in General Kubernetes. The only difference is that, in the TidbCluster definition file, you need to set the images of the related components to the ARM64 versions.
apiVersion: m.rzhenli.com/v1alpha1 kind: TidbCluster metadata: name: ${cluster_name} namespace: ${cluster_namespace} spec: version: "v7.1.0" # ... helper: image: busybox:1.33.0 # ... pd: baseImage: pingcap/pd-arm64 # ... tidb: baseImage: pingcap/tidb-arm64 # ... tikv: baseImage: pingcap/tikv-arm64 # ... pump: baseImage: pingcap/tidb-binlog-arm64 # ... ticdc: baseImage: pingcap/ticdc-arm64 # ... tiflash: baseImage: pingcap/tiflash-arm64 # ...
Initialize a TiDB cluster
The process of initializing a TiDB cluster on ARM64 machines is the same as the process ofInitialize a TiDB Cluster on Kubernetes. The only difference is that you need to modify thespec.image
field in the TidbInitializer definition file to the ARM64 image version. For example:
apiVersion:
m.rzhenli.com/v1alpha1
kind:
TidbInitializer
metadata:
name:
${initializer_name}
namespace:
${cluster_namespace}
spec:
image:
kanshiori/mysqlclient-arm64
# ...
Deploy monitoring for a TiDB cluster
If your TiDB cluster is v5.4.2 or later,deploy monitoring and alertsnormally. You don't need to do the following to change images.
If your TiDB cluster is earlier than v5.4.2, the process of deploying monitoring for a TiDB cluster on ARM64 machines is the same as the process ofDeploy Monitoring and Alerts for a TiDB Cluster. The only difference is that, you need to modify the
spec.initializer.baseImage
field in the TidbMonitor definition file to the ARM64 image.apiVersion: m.rzhenli.com/v1alpha1 kind: TidbMonitor metadata: name: ${monitor_name} spec: # ... initializer: baseImage: pingcap/tidb-monitor-initializer-arm64 version: v5.4.1 # ...