在标准 Kubernetes 上部署 TiDB 集群

    • TiDB Operator 部署完成。

    在部署 TiDB 集群之前,需要先配置 TiDB 集群。请参阅。

    配置 TiDB 集群后,请按照以下步骤部署 TiDB 集群:

    1. 创建 :

      注意

      namespace命名空间,可以起一个方便记忆的名字,比如和 cluster_name 相同的名称。

      1. kubectl apply -f ${cluster_name} -n ${namespace}

      部署 TiDB 集群 - 图2注意

      建议在 cluster_name 目录下组织 TiDB 集群的配置,并将其另存为 ${cluster_name}/tidb-cluster.yaml。默认条件下,修改配置不会自动应用到 TiDB 集群中,只有在 Pod 重启时,才会重新加载新的配置文件。

      如果服务器没有外网,需要在有外网的机器上将 TiDB 集群用到的 Docker 镜像下载下来并上传到服务器上,然后使用 docker load 将 Docker 镜像安装到服务器上。

      部署一套 TiDB 集群会用到下面这些 Docker 镜像(假设 TiDB 集群的版本是 v5.4.0):

      接下来通过下面的命令将所有这些镜像下载下来:

      1. docker pull pingcap/pd:v5.4.0
      2. docker pull pingcap/tikv:v5.4.0
      3. docker pull pingcap/tidb:v5.4.0
      4. docker pull pingcap/tiflash:v5.4.0
      5. docker pull pingcap/tidb-monitor-reloader:v1.0.1
      6. docker pull pingcap/tidb-monitor-initializer:v5.4.0
      7. docker pull grafana/grafana:6.0.1
      8. docker pull prom/prometheus:v2.18.1
      9. docker pull busybox:1.26.2
      10. docker save -o pd-v5.4.0.tar pingcap/pd:v5.4.0
      11. docker save -o tikv-v5.4.0.tar pingcap/tikv:v5.4.0
      12. docker save -o ticdc-v5.4.0.tar pingcap/ticdc:v5.4.0
      13. docker save -o tiflash-v5.4.0.tar pingcap/tiflash:v5.4.0
      14. docker save -o tidb-monitor-reloader-v1.0.1.tar pingcap/tidb-monitor-reloader:v1.0.1
      15. docker save -o tidb-monitor-initializer-v5.4.0.tar pingcap/tidb-monitor-initializer:v5.4.0
      16. docker save -o grafana-6.0.1.tar grafana/grafana:6.0.1
      17. docker save -o prometheus-v2.18.1.tar prom/prometheus:v2.18.1
      18. docker save -o busybox-1.26.2.tar busybox:1.26.2
    2. 通过下面命令查看 Pod 状态:

      1. kubectl get po -n ${namespace} -l app.kubernetes.io/instance=${cluster_name}

    单个 Kubernetes 集群中可以利用 TiDB Operator 部署管理多套 TiDB 集群,重复以上步骤并将 cluster_name 替换成不同名字即可。不同集群既可以在相同 中,也可以在不同 namespace 中,可根据实际需求进行选择。

    注意

    如果要将 TiDB 集群部署到 ARM64 机器上,可以参考。

    如果要在部署完 TiDB 集群后做一些初始化工作,参考 Kubernetes 上的集群初始化配置进行配置。

    TiDB(v4.0.2 起)默认会定期收集使用情况信息,并将这些信息分享给 PingCAP 用于改善产品。若要了解所收集的信息详情及如何禁用该行为,请参见。