当前位置: 首页 > article >正文

13种pod的状态

13种pod的状态

生命周期

  • Pending:Pod被创建后进入调度阶段,k8s调度器依据pod声明的资源请求量和调度规则,为pod挑选一个适合运行的节点。当集群节点不满足pod调度需求时,pod将会处于pending状态。
  • Running:Pod被调度到节点上,k8s将pod调度到节点上后,进入running状态。
  • Succeeded:Pod运行成功,Pod中的所有容器都退出,且退出码为0。
  • Failed:Pod运行失败,Pod中的所有容器都退出,且退出码不为0。或被系统终止,pod将进入failed状态。
  • Unknown:Pod运行异常,因为某些原因无法取得pod状态,Pod处于unknown状态。

调度失败

常见错误状态(Unschedulable)

pod被创建后进入调度阶段,k8s调度器依据pod声明的资源请求量和调度规则,为pod挑选一个适合运行的节点。当集群节点不满足pod调度需求时,pod将会处于pending状态。造成调度失败的典型原因有:

  • 节点资源不足

k8s将节点资源(cpu,内存,磁盘等)进行数字量化,定义出节点资源容量(capacity)和节点资源可分配额(allocatable)。资源容量是指kubelet获取的计算节点当前的资源信息,而iyuan个分配额是pod的可用的资源。
pod容器有两种资源额度概念:

  • 请求值 (Request 容器至少能获得请求值大小)
  • 限制值 (Limit 容器至多能获得限制值大小)
    pod的资源请求量是pod中所有容器的资源请求之和
    pod的资源限制量是pod中所有容器的资源限制之和
    k8s默认调度器按照较小的请求值作为调度依据,保障可调度节点的资源可分配额一定不小于pod资源请求值。当集群没有一个节点满足pod的资源请求量,pod将会卡在pending状态。
    pod因为无法满足资源需求而被pending,可能是因为集群资源不足,需要进行扩容,也有可能是集群碎片化导致。
  • 超过Namespace资源配额

k8s用户可以通过资源配额对ns进行资源使用量限制,包括两个维度:

  • 限制某个对象类型(pod)可创建对象的总数
  • 限定某个对象类型可消耗的资源总数
    如果在创建或更新pod时申请的资源超过了资源配额,则pod将调度失败。此时需要检查ns资源配额状态,做出适当调整
  • 不满足nodeselector节点选择器

节点亲和性和反亲和性用于约束pod调度到哪些节点,而亲和性有细分为软亲和和硬亲和。对于软亲和规则,k8s调度器会尝试寻找满足对应规则的节点,如果找不到匹配的节点,调度器仍然会调度该pod。而当硬亲和规则不被满足时,pod将无法被调度,需要检查pod调度规则和目标节点状态,对调度规则或节点进行合理调整

  • 节点存在污点

k8s提供污点和容忍机制,用于避免pod被分配到不合适的节点上。家啊如节点上存在污点,而pod没有设置及相应的容忍,pod将不会调度到该节点。此时需要确认节点是否有携带污点的必要。如果不必要,移除污点,若pod可以分配到带有污点的节点


http://www.kler.cn/news/341475.html

相关文章:

  • NL2SQL之DB-GPT-Hub详解篇:text2sql任务的微调框架和基准对比
  • ctfshow-web 萌新题
  • C++——模拟实现list
  • 2.1类和对象(上)
  • useradd命令:添加Linux新用户
  • 学习干货IF=93.6!开发临床预测模型:分步指南
  • 使用 SSH/SFTP 方法来实现 Windows 和 Kali Linux 之间的文件共享(fileZilla)
  • vba学习系列(7)--考勤表制作
  • 【可答疑】基于51单片机的PWM控制智能台灯设计(含仿真、代码、报告、演示视频等)
  • 分布式数据库:大数据时代的关键技术
  • 读论文、学习时 零碎知识点记录01
  • PViT-AIR:一种用于乳腺组织图像配准的深度学习模型|顶刊精析·24-10-10
  • 【大数据】数据分析之Spark框架介绍
  • nginx配置访问本地静态资源
  • 双十一精选好物有哪些?值得入手的五大产品
  • 神经网络激活函数汇总
  • 【d59】【Java】【力扣】146.LRU缓存
  • 输出平方矩阵
  • C++游戏开发指南
  • 利用Spring Boot的RestTemplate进行REST客户端开发