- 关于 TiDB Operator
- Kubernetes 上使用 TiDB Operator 快速上手
- 部署
- 安全
- 运维
- 灾难恢复
- 使用 TiDB Lightning 恢复 Kubernetes 上的集群数据
- 故障诊断
- Kubernetes 上的 TiDB 集群常见问题
- 参考
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
重启 Kubernetes 上的 TiDB 集群
在使用 TiDB 集群的过程中,如果你发现某个 Pod 存在内存泄漏等问题,需要对集群进行重启,本文描述了如何优雅滚动重启 TiDB 集群内某个组件的所有 Pod 或通过优雅重启指令来将 TiDB 集群内某个 Pod 优雅下线然后再进行重新启动。
警告:
在生产环境中,未经过优雅重启而手动删除某个 TiDB 集群 Pod 节点是一件极其危险的事情,虽然 StatefulSet 控制器会将 Pod 节点再次拉起,但这依旧可能会引起部分访问 TiDB 集群的请求失败。
优雅滚动重启 TiDB 集群组件的所有 Pod 节点
参考在标准 Kubernetes 上部署 TiDB 集群,通过 kubectl edit tc ${name} -n ${namespace}
修改集群配置,为期望优雅滚动重启的 TiDB 集群组件 Spec 添加 annotation tidb.pingcap.com/restartedAt
,Value 设置为当前时间。以下示例中,为组件 pd
、tikv
、tidb
都设置了 annotation,表示将优雅滚动重启以上三个 TiDB 集群组件的所有 Pod。可以根据实际情况,只为某个组件设置 annotation。
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
name: basic
spec:
version: v4.0.7
timezone: UTC
pvReclaimPolicy: Delete
pd:
baseImage: pingcap/pd
replicas: 3
requests:
storage: "1Gi"
config: {}
annotations:
tidb.pingcap.com/restartedAt: 2020-04-20T12:00
tikv:
baseImage: pingcap/tikv
replicas: 3
requests:
storage: "1Gi"
config: {}
annotations:
tidb.pingcap.com/restartedAt: 2020-04-20T12:00
tidb:
baseImage: pingcap/tidb
replicas: 2
service:
type: ClusterIP
config: {}
annotations:
tidb.pingcap.com/restartedAt: 2020-04-20T12:00
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论