timed out waiting for to be synced

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 程序操作kubernetes资源时, 没有等旧的资源删除完毕就立即创建了同名的新资源, 导致出现了一些错误.  具体表现为kubernetes命令行删除StatefulSet时报错, timed out waiting for "mysql" to be synced, 删除多次卡住, 然后报这个超时错误.

        程序操作kubernetes资源时, 没有等旧的资源删除完毕就立即创建了同名的新资源, 导致出现了一些错误. 

        具体表现为kubernetes命令行删除StatefulSet时报错, timed out waiting for "mysql" to be synced, 删除多次卡住, 然后报这个超时错误.

        查看这个StatefulSet:


root@kub3:~# kubectl -n admin-d2069c get statefulset mysql -o yaml
...
spec:
  podManagementPolicy: OrderedReady
  replicas: 0
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: mysql
      appname: mysql
      name: mysql
  serviceName: mysql
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: mysql
        appname: mysql
        name: mysql
      name: mysql
...

        replicas为0, 但是查看其下有两个状态为terminating的pod:


statefulsets/mysql                      0         2         19h

po/mysql-0                                   0/1       Terminating   0          19h
po/mysql-1                                   0/1       Terminating   0          19h


        然后使用如下命令再次进行删除操作:

kubectl -n admin-d2069c delete statefulset mysql --cascade=false
        成功.


        出现这种情况的原因是, 删除StatefulSet时会级联删除其下pod资源, 然而yaml定义中的replica为0导致了混乱, 使用--cascade=false禁用级联删除则成功, 然后单独删除其下的两个pod.


        删除pod时也要注意, 因为正常情况下, StatefulSet负责管理其下的pod而不需要人为干预。所以这里要使用强制删除:

        若使用1.5或者更高版本的kubectl强制删除Pod,请执行以下命令:


kubectl delete pods <pod> --grace-period=0 --force

        如果您使用1.4或者更低版本的kubectl,需要省略--force选项:
kubectl delete pods <pod> --grace-period=0

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
30天前
|
API
wait-nofity
wait-nofity
19 0
|
8月前
|
存储 缓存 安全
|
5月前
|
关系型数据库 MySQL 数据库
MySQL报错:Lock wait timeout exceeded; try restarting transaction
MySQL报错:Lock wait timeout exceeded; try restarting transaction
|
5月前
|
SQL 关系型数据库 MySQL
MySQL报错:1205 Lock wait timeout exceeded; try restarting transaction处理
MySQL报错:1205 Lock wait timeout exceeded; try restarting transaction处理
|
9月前
|
SQL 关系型数据库 MySQL
Lock wait timeout exceeded; try restarting transaction解决方案
在测试程序时,打的断点怎么都跳不进去,console一直报 “Lock wait timeout exceeded; try restarting transaction”
297 0
|
Java 调度
Java中线程的6种状态详解(NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED)
Java中线程的6种状态详解(NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED)
320 0
|
关系型数据库 MySQL 数据库
MySQL - Lock wait timeout exceeded; try restarting transaction
MySQL - Lock wait timeout exceeded; try restarting transaction
348 0
MySQL - Lock wait timeout exceeded; try restarting transaction
wait 和 notify 有坑。。
也许我们只知道wait和notify是实现线程通信的,同时要使用synchronized包住,其实在开发中知道这个是远远不够的。接下来看看两个常见的问题。
|
NoSQL Redis Sentinel