【TiDB 4.0 PCTA 学习笔记】- 2.3.2 Deploy TiDB in Kubernetes(在 Kubernetes 上部署 TiDB 集群) @3+ 邓喆

课程名称:2.3.2 Deploy TiDB in Kubernetes(在 Kubernetes 上部署 TiDB 集群)

学习时长:

30分钟

课程收获:

本课程简要介绍了 Kubernetes 的基本概念,详细描述了 TiDB Operator 的实现原理以及如何在 Kubernetes 集群上部署 TiDB 集群。

课程内容:

前置条件

  • TiDB Operator 部署完成。

部署 TiDB 集群

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

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

  1. 创建 Namespace

    kubectl create namespace ${namespace}
    

    注意:

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

  2. 部署 TiDB 集群:

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

    注意:

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

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

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

    pingcap/pd:v4.0.8
    pingcap/tikv:v4.0.8
    pingcap/tidb:v4.0.8
    pingcap/tidb-binlog:v4.0.8
    pingcap/ticdc:v4.0.8
    pingcap/tiflash:v4.0.8
    pingcap/tidb-monitor-reloader:v1.0.1
    pingcap/tidb-monitor-initializer:v4.0.8
    grafana/grafana:6.0.1
    prom/prometheus:v2.18.1
    busybox:1.26.2
    

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

    docker pull pingcap/pd:v4.0.8
    docker pull pingcap/tikv:v4.0.8
    docker pull pingcap/tidb:v4.0.8
    docker pull pingcap/tidb-binlog:v4.0.8
    docker pull pingcap/ticdc:v4.0.8
    docker pull pingcap/tiflash:v4.0.8
    docker pull pingcap/tidb-monitor-reloader:v1.0.1
    docker pull pingcap/tidb-monitor-initializer:v4.0.8
    docker pull grafana/grafana:6.0.1
    docker pull prom/prometheus:v2.18.1
    docker pull busybox:1.26.2
    
    docker save -o pd-v4.0.8.tar pingcap/pd:v4.0.8
    docker save -o tikv-v4.0.8.tar pingcap/tikv:v4.0.8
    docker save -o tidb-v4.0.8.tar pingcap/tidb:v4.0.8
    docker save -o tidb-binlog-v4.0.8.tar pingcap/tidb-binlog:v4.0.8
    docker save -o ticdc-v4.0.8.tar pingcap/ticdc:v4.0.8
    docker save -o tiflash-v4.0.8.tar pingcap/tiflash:v4.0.8
    docker save -o tidb-monitor-reloader-v1.0.1.tar pingcap/tidb-monitor-reloader:v1.0.1
    docker save -o tidb-monitor-initializer-v4.0.8.tar pingcap/tidb-monitor-initializer:v4.0.8
    docker save -o grafana-6.0.1.tar grafana/grafana:6.0.1
    docker save -o prometheus-v2.18.1.tar prom/prometheus:v2.18.1
    docker save -o busybox-1.26.2.tar busybox:1.26.2
    

    接下来将这些 Docker 镜像上传到服务器上,并执行 docker load 将这些 Docker 镜像安装到服务器上:

    docker load -i pd-v4.0.8.tar
    docker load -i tikv-v4.0.8.tar
    docker load -i tidb-v4.0.8.tar
    docker load -i tidb-binlog-v4.0.8.tar
    docker load -i ticdc-v4.0.8.tar
    docker load -i tiflash-v4.0.8.tar
    docker load -i tidb-monitor-reloader-v1.0.1.tar
    docker load -i tidb-monitor-initializer-v4.0.8.tar
    docker load -i grafana-6.0.1.tar
    docker load -i prometheus-v2.18.1.tar
    docker load -i busybox-1.26.2.tar
    
  3. 通过下面命令查看 Pod 状态:

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

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

初始化 TiDB 集群

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

学习过程中参考的其他资料

同学你好,感谢参与 TiDB 4.0 课程的学习!

本篇笔记逻辑清晰、内容丰富,被评选为优质笔记,将额外获得 20 积分,并在 「TiDB 培训」分类下获得“置顶”权益,积分兑换规则将于近期开放,敬请关注!

期待您继续产出优质内容!

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。