【TiDB 4.0 PCTA学习笔记】3.3k8上部署TIDB集群监控

课程名称:301+ 3.2k8s部署TIDB集群监控&K8s 部署的 TiDB 集群运维

学习时长:30

课程收获:

  • k8s部署TIDB集群监控
  • K8s 部署的 TiDB 集群运维
  • K8s 部署的 TiDB 集群升级指南

课程内容:

k8s部署TIDB集群监控

tidb-monitor:
https://github.com/pingcap/tidb-operator/blob/master/examples/basic/tidb-monitor.yaml

  • spec.cluster.name 要监控的集群名称
  • tidb-monitor 的namespace需要和欲监控的集群在同一个namespace下
  • 默认监控数据不持久化保存,持久化数据需要配置PV

kube-promethus 监控K8s集群:并且可以复用kube-promethus 的alert-manager 进行告警,并可以整合grafana提供TIDB的监控数据展现。

K8s 部署的 TiDB 集群运维

配置:


TOML直接写到config下,Operator负责生产configmap

升级过程:


通过statefulset的partion参数控制,实现,每次讲partion-1 完成迁移升级后再加回。

TIDB升级需要client具备重试等能力,减小用户影响

扩容

水平扩容


TIKV扩容过程需要检查扩容后是否使用就有的PVC或数据,避免数据影响;缩容需要delete store后删除POD

垂直扩容

自动Failover

Operator将记录失败实例,然后重新生成实例


恢复后,对于PD和TIDB会自动删除新实例;但是TIKV和TIFLASH不会,

重启

组件annotations指定重启时间实现

状态

kubectl get tc ”tc-name“ -n namespace -o format


更底层状态可以通过statefulset实现
服务通过get service和get endpoint 实现

日志


备份恢复



后续使用的使用CR进行处理更加原生



dumping&lighting / BR 独立体系
组件无法直通S3需要通过PV中装


importer可以实现直接导入TIKV方式,比逻辑导入方式更快

监控

参考3.2.1中监控方式

K8s 部署的 TiDB 集群升级指南

不停机滚动升级到4.0以上版本,4.0版本以后可以通过TIUP进行管理

学习过程中遇到的问题或延伸思考:

  • 延伸思考 1:
    因为是基于K8S的实现,大部分功能可以通过对K8S的理解使用,并使用对应生态系统的工具。
    因为tIDB 的组件系统对于状态和顺序的需求,对K8S原生机制之上增加了调度过程,使用过程需要注意这些过程的实现机制。
    对于K8S上TIDB组件体系比较松散,需要集中界面更好维护