[FAQ] K8s 如何异构 TiDB-Server

场景

  • K8s 场景 tidb-server 需要 hotfix

目的

  • 异构测试一段时间,避免出现比 Hotfix 前更严重的问题

K8s 场景

kubectl get tc -n cluster-name-ryl

kubectl get pod -n cluster-name-ryl -o wide

  • 创建异构 TiDB-Server

    • 新建 cluster.yaml 文件(tidboperator-ryl-new 为异构集群名称tidboperator-ryl 为待加入集群名称)

[root@m4136 ryl]# more cluster.yaml (展示的缩进有问题)
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
name: tidboperator-ryl-new
spec:
configUpdateStrategy: RollingUpdate
version: v4.0.9
timezone: UTC
pvReclaimPolicy: Delete
discovery: {}
cluster:
name: tidboperator-ryl
tidb:
baseImage: pingcap/tidb
replicas: 1
requests:
cpu: “100m”
config: {}
storageClassName: “local-storage”

image

  • 执行安装命令

kubectl apply -f cluster.yaml -n cluster-name-ryl

  • 验证安装是否成功

kubectl get tc -n cluster-name-ryl

kubectl get pod -n cluster-name-ryl -o wide

kubectl get service -n cluster-name-ryl

  • 访问集群

  1. 集群内部访问
  2. 修改 ClusterIP 为 NodsPort
  3. port-forward 待确认
  • 删除异构集群

    • 编辑 tc 文件,缩容异构 pod (异构 tc 的 replicas 改为 0)

kubectl edit tc -n cluster-name-ryl

image

watch kubectl get pod -n cluster-name-ryl 观察待缩容成功

  • 删除异构 tc

kubectl get tc -n cluster-name-ryl

kubectl delete tc tidboperator-ryl-new -n cluster-name-ryl