【TiDB 4.0 PCTA 学习笔记】- 2.3.1 How to Deploy TiDB Platform with TiUP(如何通过 TiUP 部署 TiDB)@4班+小明

课程名称:

2.3.1 How to Deploy TiDB Platform with TiUP(如何通过 TiUP 部署 TiDB)
2.3.2 Deploy TiDB in Kubernetes(在 Kubernetes 上部署 TiDB 集群)
2.3.3 将数据导入TiDB

学习时长:

30min

课程内容:

2.3.1
TiUP 是 TiDB 4.0 版本引入的集群运维工具,TiUP cluster 是 TiUP 提供的使用 Golang 编写的集群管理组件,通过 TiUP cluster 组件就可以进行日常的运维工作,包括部署、启动、关闭、销毁、弹性扩缩容、升级 TiDB 集群;管理 TiDB 集群参数。
目前 TiUP 可以支持部署 TiDB、TiFlash、TiDB Binlog、TiCDC,以及监控系统。
2.3.2
TiDB Operator 像“牧羊人”一样,持续的监督并管理着 TiDB 各组件“羊群”以恰当的状态运行在主机集群“牧场”上。现在运维人员只要告诉 Operator “What to do“,而由 Operator 来决定 “How to do”。在最新版本 TiDB Operator 甚至可以根据实际情况来决定 “What to do”,比如:auto-scaler。真正实现了自动化运维,减轻运维人员维护压力,提高服务能力。
TiDB Operator 组件
TiDB Cluster 定义:CRD( CustomResourceDefinition )定义了 TidbCluster 等自定义资源,使得 Kubernetes 世界认识 TiDB Cluster 并让其与 Deployment 、 StatefulSet 一同享受 Kubernetes 的头等公民待遇。目前 TiDB Operator v1.1.0 版本包含的 CRD 有: TidbCluster 、 Backup 、 Restore 、 BackupSchedule 、 TidbMonitor 、 TidbInitializer 以及 TidbClusterAutoScaler 。
控制器: tidb-controller-manager 包含了一组自定义控制器,控制器通过循环不断比对被控制对象的期望状态与实际状态,并通过自定义的逻辑驱动被控制对象达到期望状态。
调度器: tidb-scheduler 是一个 Kubernetes 调度器扩展,它为 Kubernetes 调度器注入 TiDB 集群特有的调度逻辑,比如:为保证高可用,任一 Node 不能调度超过 TiDB 集群半数以上的 TiKV 实例。
自定义资源
TiDB Cluster 资源:CR( CustomResource )声明了 TiDB Cluster 自定义资源对象,它声明了 TidbCluster 对象的期望状态,并被控制器逻辑不断进行处理,同时将实际运行状态记录下来。
Kubernetes 控制平面
kube-apiserver :Kubernetes 控制平面的前端,所有组件通过 API Server 获取或更新对象信息。
kube-controller-manager : TidbCluster 等 CR 封装了 StatefulSet 、 Deployment 、 CronJob 等原生对象,所以依然需要 K8s 原生控制器来进行控制逻辑。
kube-scheduler :调度 TiDB Cluster 的 Pod, filtering 阶段,kube-scheduler 筛选出的节点会再经过 tidb-scheduler 筛选一次,然后 kube-scheduler 再进行 scoring 选择最合适的节点进行 Pod 调度。
2.3.3
【TiDB Lightning】
全量数据导入到TIDB的工具,两种模式
1,local 通过tikv 为backend 速度快
2,tidb 通过tidb为backend online线上导入