如何针对特定Pod进行生产环境排错、数据恢复及故障复盘?

2026-05-27 15:101阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1194个文字,预计阅读时间需要5分钟。

如何针对特定Pod进行生产环境排错、数据恢复及故障复盘?

生产环境想要对某个Pod进行排错、数据恢复、故障复盘有哪些办法?K8s考点灵魂拷问9连击之5+考点之简单描述一下k8s副本集ReplicaSet有什么作用?为什么ReplicaSet将取代ReplicationControl?

生产环境想要对某个Pod排错、数据恢复、故障复盘有什么办法?

k8s考点灵魂拷问9连击之5

考点之简单描述一下k8s副本集ReplicaSet有什么作用?

考点之为什么ReplicaSet将取代ReplicationController控制器?

考点之编写 ReplicaSet 的 spec 有什么需要注意的点?

考点之k8s集群中创建非模板 Pod 为什么可能会被副本集自动收纳?

考点之线上预警k8s集群循环创建、删除Pod副本,一直无法稳定指定目标副本数量? 如果排除了是Pod内部发生了故障,从RS角度你猜测可能是什么原因?

上一期,讨论了前面五个考点,感兴趣去可以看一看,好了,接下来继续看本期4个考点!

考点之标签Pod和可识别标签副本集ReplicaSet 先后创建顺序不同,会造成什么影响?

考点之生产环境想要对某个Pod排错、数据恢复、故障复盘有什么办法?

考点之缩放 RepliaSet 有哪些算法策略?

考点之如何去影响淘汰策略,设置单独偏好? 囧么肥事-胡说八道

考点之标签Pod和可识别标签副本集ReplicaSet 先后创建顺序不同,会造成什么影响?

假设给Pod打上的标签是 AA,同时RS标签选择器设置匹配 AA。

分为两种情况

### 预设RS标签和副本数量 RS-AA 标签选择器可识别 AA 标签 设置副本15个 ### 预设Pod标签 裸Pod-AA 标志标签 AA

第一种:RS已经创建,裸Pod随后创建

情况一: 副本等于15个,此时创建 Pod-AA 结果: 新的 裸Pod-AA 会被该 RS-AA 识别 副本数 > 15,开启平衡机制 新Pod立即被 RS 终止并实行删除操作 情况二: 副本小于15个,此时创建 Pod-AA 结果: 裸Pod-AA 创建后立即被 RS-AA识别 副本数 <= 15,开启平衡机制,收管裸Pod

第二种:裸Pod先创建,随后创建RS

情况一: 创建了小于等与15个裸Pod-AA,此时创建 RS-AA 结果: RS-AA 创建成功后 发现存在有AA标签的Pod 将所有的Pod-AA纳入自己管辖范围 副本数 < 15,开启平衡机制 由RS-AA继续创建剩余Pod-AA补充够15个 情况二: 创建了大于15个裸Pod-AA,此时创建 RS-AA 结果: RS-AA 创建成功后 发现存在有AA标签的Pod 将所有的Pod-AA纳入自己管辖范围 副本数 > 15,开启平衡机制 RS-AA实行删除多余Pod操作 直到副本数维持在15个

结论:无论RS何时创建,一旦创建,会将自己标签选择器能识别到的所有Pod纳入麾下,接管生存权,遵循RS规约定义的有效副本数,去开启平衡机制,维持有效标签Pod的副本数。

总之,RS尽力保证系统当前正在运行的Pod等于期望状态里指定的Pod数目。

如果想要独立创建可生存的裸Pod,一定要检查所有的RS标签选择器的可识别范围,避免自己创建的裸Pod被收纳接管。

考点之生产环境想要对某个Pod排错、数据恢复、故障复盘有什么办法?

如果线上发现有些Pod没有按照我们期望的状态来进行运行,发生了某些故障,但是其他同类型Pod却没有发生。

如何针对特定Pod进行生产环境排错、数据恢复及故障复盘?

这种故障一般属于不易复现的故障,只会在某些偶然性的条件下触发故障,但是这个触发条件我们又不清楚,所以我们要专门针对这个故障进行问题排查。

这个时候又不希望在排查过程中影响服务的正常响应,那该怎么办呢?

隔离法,所谓隔离法,就是将 Pod 从 ReplicaSet 集合中隔离出来,让Pod脱离RS的管控范围,额有点类似赎身。

可以通过改变标签来从 ReplicaSet 的目标集中移除 Pod。

这种技术可以用来从服务中去除 Pod,以便进行排错、数据恢复等。

以这种方式移除的 Pod 将被自动替换(假设副本的数量没有改变)。

通过隔离这个目标Pod,RS会自动补充副本Pod去保证集群的高可用,我们不必担心影响到服务线的正常响应。这时候就可以针对这个目标Pod做排查,研究,里里外外的想干啥,就干啥,嘿嘿

本文共计1194个文字,预计阅读时间需要5分钟。

如何针对特定Pod进行生产环境排错、数据恢复及故障复盘?

生产环境想要对某个Pod进行排错、数据恢复、故障复盘有哪些办法?K8s考点灵魂拷问9连击之5+考点之简单描述一下k8s副本集ReplicaSet有什么作用?为什么ReplicaSet将取代ReplicationControl?

生产环境想要对某个Pod排错、数据恢复、故障复盘有什么办法?

k8s考点灵魂拷问9连击之5

考点之简单描述一下k8s副本集ReplicaSet有什么作用?

考点之为什么ReplicaSet将取代ReplicationController控制器?

考点之编写 ReplicaSet 的 spec 有什么需要注意的点?

考点之k8s集群中创建非模板 Pod 为什么可能会被副本集自动收纳?

考点之线上预警k8s集群循环创建、删除Pod副本,一直无法稳定指定目标副本数量? 如果排除了是Pod内部发生了故障,从RS角度你猜测可能是什么原因?

上一期,讨论了前面五个考点,感兴趣去可以看一看,好了,接下来继续看本期4个考点!

考点之标签Pod和可识别标签副本集ReplicaSet 先后创建顺序不同,会造成什么影响?

考点之生产环境想要对某个Pod排错、数据恢复、故障复盘有什么办法?

考点之缩放 RepliaSet 有哪些算法策略?

考点之如何去影响淘汰策略,设置单独偏好? 囧么肥事-胡说八道

考点之标签Pod和可识别标签副本集ReplicaSet 先后创建顺序不同,会造成什么影响?

假设给Pod打上的标签是 AA,同时RS标签选择器设置匹配 AA。

分为两种情况

### 预设RS标签和副本数量 RS-AA 标签选择器可识别 AA 标签 设置副本15个 ### 预设Pod标签 裸Pod-AA 标志标签 AA

第一种:RS已经创建,裸Pod随后创建

情况一: 副本等于15个,此时创建 Pod-AA 结果: 新的 裸Pod-AA 会被该 RS-AA 识别 副本数 > 15,开启平衡机制 新Pod立即被 RS 终止并实行删除操作 情况二: 副本小于15个,此时创建 Pod-AA 结果: 裸Pod-AA 创建后立即被 RS-AA识别 副本数 <= 15,开启平衡机制,收管裸Pod

第二种:裸Pod先创建,随后创建RS

情况一: 创建了小于等与15个裸Pod-AA,此时创建 RS-AA 结果: RS-AA 创建成功后 发现存在有AA标签的Pod 将所有的Pod-AA纳入自己管辖范围 副本数 < 15,开启平衡机制 由RS-AA继续创建剩余Pod-AA补充够15个 情况二: 创建了大于15个裸Pod-AA,此时创建 RS-AA 结果: RS-AA 创建成功后 发现存在有AA标签的Pod 将所有的Pod-AA纳入自己管辖范围 副本数 > 15,开启平衡机制 RS-AA实行删除多余Pod操作 直到副本数维持在15个

结论:无论RS何时创建,一旦创建,会将自己标签选择器能识别到的所有Pod纳入麾下,接管生存权,遵循RS规约定义的有效副本数,去开启平衡机制,维持有效标签Pod的副本数。

总之,RS尽力保证系统当前正在运行的Pod等于期望状态里指定的Pod数目。

如果想要独立创建可生存的裸Pod,一定要检查所有的RS标签选择器的可识别范围,避免自己创建的裸Pod被收纳接管。

考点之生产环境想要对某个Pod排错、数据恢复、故障复盘有什么办法?

如果线上发现有些Pod没有按照我们期望的状态来进行运行,发生了某些故障,但是其他同类型Pod却没有发生。

如何针对特定Pod进行生产环境排错、数据恢复及故障复盘?

这种故障一般属于不易复现的故障,只会在某些偶然性的条件下触发故障,但是这个触发条件我们又不清楚,所以我们要专门针对这个故障进行问题排查。

这个时候又不希望在排查过程中影响服务的正常响应,那该怎么办呢?

隔离法,所谓隔离法,就是将 Pod 从 ReplicaSet 集合中隔离出来,让Pod脱离RS的管控范围,额有点类似赎身。

可以通过改变标签来从 ReplicaSet 的目标集中移除 Pod。

这种技术可以用来从服务中去除 Pod,以便进行排错、数据恢复等。

以这种方式移除的 Pod 将被自动替换(假设副本的数量没有改变)。

通过隔离这个目标Pod,RS会自动补充副本Pod去保证集群的高可用,我们不必担心影响到服务线的正常响应。这时候就可以针对这个目标Pod做排查,研究,里里外外的想干啥,就干啥,嘿嘿