首页 > 其他分享 >k8s pod 状态异常状态分析和处理方法

k8s pod 状态异常状态分析和处理方法

时间:2023-06-15 10:35:08浏览次数:42  
标签:状态 删除 apiserver terminating pod k8s 节点

pod状态一般分为以下几种:
1、terminating
2、pending
3、containercreating或waiting
4、CrashloopBackoff
5、imagePullBackoff
6、imageinspectError
7、unknown
8、Error

1、一般处于imageinspectError通常指的是镜像文件损坏了,可以尝试删除损坏的镜像重新拉取。
2、Error状态说明pod在启动过程中发生了错误,常见可能原因包括依赖的configmap,secret或者PV等不存在,请求的资源超过了限制,比如超过了limitrange等。还有可能是违反了集群的安全策略等,比如违反了podsecurityPolicy等。容器无法操作集群内部的资源,
比如做了RBAC后,需要配置sa并为其配置角色绑定。
3、处于UNknown状态一般可能是节点失联,没有上报给apiserver,到达阈值后controller-manager认为节点失联并将其状态标记为unknown。
可能的原因有:节点高负载导致无法上报,节点宕机,节点被关机,网络不通。
4、处于terminating状态说明pod被删除,但是一直无法结束。
pod被删除的主要原因可能是:
1.用户主动删除的pod
2.工作负载在滚动更新,自动删除的pod
3.触发了节点驱逐,自动清理的pod。
4.节点长时间处于notready状态,pod被自动删除以便于被重新调度。

pod被删除流程中主要涉及到的组件有:apiserver,etcd,kubelet,dockerd或者containerd。既然能看到pod卡在terminating状态,说明apiserver能正常响应,也能正常从etcd中获取状态,
一般这两个组件不会有什么问题。有问题的主要是节点上的操作。

 

标签:状态,删除,apiserver,terminating,pod,k8s,节点
From: https://www.cnblogs.com/tigergaonotes/p/17482190.html

相关文章

  • Oracle备份状态
    colOPERATIONFORMATa20colSTATUSFORMATa20colMBYTES_PROCESSEDFORMAT999999.99selectOPERATION,STATUS,OBJECT_TYPE,MBYTES_PROCESSED,to_char(START_TIME,'yyyy-mm-ddhh24:mi:ss')ASSTART_TIME,to_char(END_TIME,'yyyy-mm-ddhh24:mi:ss�......
  • 一文实战K8S中的服务发现和负载均衡
    开篇在Kubernetes集群中,服务发现和负载均衡是非常重要的概念和功能。它们可以帮助我们管理应用程序的访问和流量分发,确保应用程序的高可用性和性能。在本文中,我们将通过一个实战案例,探索Kubernetes中的服务发现和负载均衡机制,并演示如何在集群中部署和管理具有负载均衡能力的应用......
  • 一篇就让小白入门K8S,使用Minikube来搭建本地的单节点K8S集群
    开篇Kubernetes(通常简称为K8s)是一个开源的容器编排平台,它为应用程序的部署、扩展和管理提供了强大的工具和功能。在本文中,我们将通过一个实战案例,引导您进入Kubernetes的世界,了解其基本概念和架构,并帮助您安装和配置一个简单的Kubernetes集群。Kubernetes概述Kubernetes是一个......
  • 一文实战K8S中的服务发现和负载均衡
    开篇在Kubernetes集群中,服务发现和负载均衡是非常重要的概念和功能。它们可以帮助我们管理应用程序的访问和流量分发,确保应用程序的高可用性和性能。在本文中,我们将通过一个实战案例,探索Kubernetes中的服务发现和负载均衡机制,并演示如何在集群中部署和管理具有负载均衡能力的应......
  • k8s第四篇:离线业务
    pod是k8s的最小调度单元,为了保持它的独立性,不应该向它添加多余的功能。k8s为离线业务提供了job和cronjob两种api对象,分别处理临时任务和定时任务。job的关键字段是spec.template,里面定义了用来运行业务的pod模板。cronjob的关键字段是spec.jobTemplate和spec.schedule,分别定义......
  • 给多种状态的盒子赋予不同样式
    开发时经常会遇到这样的样式需求:【根据返回的字段控制当前盒子使用不同的样式】一般来说,字段内容都为两种:true/false,或0/1,或两个不同的字符串,这种情况下可以使用【动态class+三元表达式】的方法解决。但偶然也会出现多个的情况,此时三元表达式就显得不够用了,要么会判断很多层变得......
  • 状态模式:用类表示状态
    在不使用状态模式之前,我们经常通过if(state1){ //dostate1something}elseif(state2){ //dostate2something}else{ //doothersomething}在状态设计模式中,对象根据其内部状态的不同而改变其行为。这样,对象可以看起来像它们已经改变了类。状态模式通过将每个......
  • k8s HPA 示例
    web服务depoly-demoapp-v10.yamlapiVersion:v1kind:Namespacemetadata:name:hpa-demoapp---apiVersion:apps/v1kind:Deploymentmetadata:labels:app:demoappv10name:demoappv10namespace:hpa-demoappspec:#replicas:1selector:......
  • k8s-IPV6升级(3)
    1.逐节点手动升级步骤21.1master节点升级到1.21.5步骤#备份apiserver、kube-scheduler和controller-managercp-r/apps/conf/kubernetes/manifests//tmp/1.1.1更新管理平面组件至1.21.5逐节点更新master节点的kube-apiserver修改如下参数vi/apps/conf/kubernetes......
  • hadoop状态和任务监控
    #-*-coding:UTF-8-*-importmysql.connectorimportsysimportdatetimeimportimportlibimportrequestsimportlib.reload(sys)#修改hadoop地址参数为实际地址env_code='生产环境http://172.16.159.75:18888/'hadoop_code='生产环境hadoophttp://172.16.159.75......