博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
timed out waiting for to be synced
阅读量:6757 次
发布时间:2019-06-26

本文共 1277 字,大约阅读时间需要 4 分钟。

        程序操作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         19hpo/mysql-0                                   0/1       Terminating   0          19hpo/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 
--grace-period=0 --force
        如果您使用1.4或者更低版本的kubectl,需要省略--force选项:
kubectl delete pods 
--grace-period=0

转载地址:http://lbzeo.baihongyu.com/

你可能感兴趣的文章
某封包地址分析
查看>>
渗透测试
查看>>
第七节
查看>>
获取和设置WebBrowser内核IE版本
查看>>
我的第一个博客,开始记录点滴生活
查看>>
用C#sqlserver实现增删改查
查看>>
使用DataX同步MaxCompute数据到TableStore(原OTS)优化指南
查看>>
绿色地址栏,未来安全的新趋势!
查看>>
给初学者的RxJava2.0教程(一)(转)
查看>>
进程概念
查看>>
netlink socket编程
查看>>
注册特殊广播接收者
查看>>
matplotlib正弦和余弦图
查看>>
DataTable的用法
查看>>
教育部老师远程培训课程听课点击器
查看>>
表操作汇总(复制,删除,修改,插入,查询及数据库的复制)
查看>>
redis 基本数据类型-列表(List)
查看>>
H5开发推荐使用Q.js,轻量的前端单页路由框架
查看>>
一些简单的递归算法
查看>>
list切片的补充
查看>>