在Kubernetes中,节点故障驱逐Pod的过程涉及多个参数和组件的相互作用。以下是该过程的简要概述:

  1. 默认设置:在默认配置下,节点故障时,工作负载的调度周期约为6分钟。
  2. 关键参数
    • node-monitor-period:节点控制器(node controller)检查每个节点的间隔,默认值为5秒。
    • node-monitor-grace-period:节点控制器判断节点故障的时间窗口,默认值为40秒。即如果40秒内没有收到节点消息,则判断节点为故障。
    • pod-eviction-timeout:当节点故障时,kubelet允许pod在此故障节点的保留时间,默认值为300秒。这意味着当节点故障5分钟后,kubelet开始在其他可用节点重建pod。
  3. 调整参数:在实际操作中,这些参数可以根据需要进行调整。例如,通过修改kube-controller-manager的配置文件来调整node-monitor-periodpod-eviction-timeout等参数。
  4. 驱逐时间:当一个节点被标记为故障后,kubelet会尝试在pod-eviction-timeout设定的时间内将该节点上的pod驱逐。如果超过这个时间,kubelet将开始在其他可用节点上重建这些pod。
  5. 状态变化:在这个过程中,pod的状态不会立即改变。在默认的pod-eviction-timeout时间内,原本是Running的pod状态将保持不变。当超过这个时长后,这些pod的状态会变为Nodelost(对于DaemonSet)或Unknown(对于Deployment)。

综上所述,Kubernetes通过多个参数和组件的协同工作,实现了对节点故障时Pod的驱逐过程。这些参数可以通过配置进行优化,以满足特定需求和环境的要求。

在K8S中,节点故障驱逐pod过程时间怎么定义?的更多相关文章

  1. Kubernetes调整Node节点快速驱逐pod的时间

    在高可用的k8s集群中,当Node节点挂掉,kubelet无法提供工作的时候,pod将会自动调度到其他的节点上去,而调度到节点上的时间需要我们慎重考量,因为它决定了生产的稳定性.可靠性,更快的迁移可以 ...

  2. 容器编排系统K8s之节点污点和pod容忍度

    前文我们了解了k8s上的kube-scheduler的工作方式,以及pod调度策略的定义:回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14243312.ht ...

  3. K8s中的多容器Pod和Pod内容器间通信

    容器(Container)常被用来解决比如微服务的单个问题,但在实际场景中,问题的解决往往需要多容器方案.本文会讨论将多个容器整合进单个Kubernetes Pod 中,以及Pod中的容器之间是如何通 ...

  4. k8s中正确删除一个pod

    1.先删除pod 2.再删除对应的deployment 否则只是删除pod是不管用的,还会看到pod,因为deployment.yaml文件中定义了副本数量 实例如下: 删除pod [root@tes ...

  5. shell脚本逐个杀死k8s中某个应用的pod

    #!/bin/bash pod01=`kubectl get pod -o wide -n weifeng-system|grep official-ui-node-prod|awk -F : 'NR ...

  6. k8s中节点级别的日志

    容器化应用程序写入到 stdout 和 stderr 中的任何信息,都将被容器引擎重定向到某个地方.例如,Docker 容器引擎将 stdout 和 stderr 这两个输出流重定向到 logging ...

  7. 如何为k8s中的pod配置QoS等级?

    1.概述 本文介绍如何为pod分配特定的QoS等级. 我们知道,在k8s的环境中,通过使用QoS等级来做决定,在资源紧张的时候,将哪些的pod进行驱逐,或者说如何对pod进行调度. OK,话不多说,让 ...

  8. K8s Scheduler 在调度 pod 过程中遗漏部分节点的问题排查

    问题现象 在TKE控制台上新建版本为v1.18.4(详细版本号 < v1.18.4-tke.5)的独立集群,其中,集群的节点信息如下: 有3个master node和1个worker node, ...

  9. 【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

    背景介绍 最近的docker容器经常被kill掉,k8s中该节点的pod也被驱赶. 我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器).该Docker容器中的应用程序将会计算数据 ...

  10. k8s 中的 Pod 细节了解

    k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 ...

随机推荐

  1. 推荐收藏!年度Top20开源许可证风险等级

    开源许可现状 开发人员经常在软件中引入开源的代码片段.函数.方法和操作代码.因此,软件代码中经常会包含各种声明不同许可证的子组件.这些子组件的许可证条款和条件与项目整体主许可证的条款和条件冲突时,就会 ...

  2. Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话

    原文链接:https://developer.aliyun.com/article/981268 演示视频:https://developer.aliyun.com/live/249772 一.Ser ...

  3. 八、docker-file自动构建docker镜像

    系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...

  4. 使用 nacos 搭建注册中心及配置中心

    本文为博主原创,转载请注明出处: 在分布式微服务框架中,现在都流行使用 nacos 作为分布式框架的注册中心与配置中心.当我们搭建一套spring boot 框架的时候,默认会将配置文件 放在 res ...

  5. 基于python+django的旅游信息网站-旅游景点门票管理系统设计与实现

    该系统是基于python+django开发的旅游景点门票管理系统.是给师弟做的课程作业.大家学习过程中,遇到问题可以在github咨询作者 演示地址 前台地址: http://travel.gitap ...

  6. [IDEA] [SpringBoot] 项目所写的内容不能同步到编译出的文件中

    错误原因: 不小心删除了 .yml 导致了,项目所写的内容不能同步到编译出的文件中,之后项目中的任何修改或添加的内容不能同步到编译出的文件中 解决方法 : 文件项目下运行mvn idea:module ...

  7. Go-数据类型-布尔类型-bool

    布尔类型--bool 只有两个值 true false 不能转换成其他类型,也不能参加数值运算 布尔应用场景 if swicht for 三大分支语句中的条件部分 比较运算和逻辑运算的返回值 作为通道 ...

  8. [转帖]linux系统主机双网卡实现路由转发问题与解决

    1. 环境 拓扑: 网卡配置: host1: 192.168.1.1/24 host2: 左eth0: 192.168.1.2/24 右eth1: 192.168.2.2/24 host3: 192. ...

  9. [转帖]TiDB 内存控制文档

    https://docs.pingcap.com/zh/tidb/stable/configure-memory-usage 目前 TiDB 已经能够做到追踪单条 SQL 查询过程中的内存使用情况,当 ...

  10. [转帖]MinIO系列7 - Minio性能压测

    https://www.zhihu.com/people/keen-wang 前言 声明:此文为本人历史笔记的整理,文章实际撰写时间为2021年2月份,所以本中所使用的相关组件版本较老.此文是通过压力 ...