Kubernetes-pod 状态

本文详细解释了KubernetesPod在创建过程中经历的不同状态变化,包括Pending、ContainerCreating、Init、Running、Succeeded/Failed/CrashLoopBackOff/Unknown/Terminating/Completed/Evicted,帮助理解Pod的生命周期管理。
摘要由CSDN通过智能技术生成

# pod 创建过程中的状态变化详解

1.Pending:
	# 在 Pod 被创建后,它首先进入 Pending 状态。这个状态意味着 Pod 已被 Kubernetes 系统接受。
    # 但是还有一些准备工作未完成。这可能涉及如下几个方面:
    # 1.Pod 配置的数据卷(Volumes)尚未准备就绪。
    # 2.没有符合 Pod 资源请求的节点(Node)。
    # 3.Pod 依赖的服务尚未就绪(如通过 Init Containers)。

2.ContainerCreating:
	# Pod 已经被调度到一个节点上,容器镜像正在被拉取,并且容器正在被创建。
    # 这是 Pod 状态从 Pending 过渡到 Running 之前的一个暂态。

3.Init:N/M:
	#如果 Pod 配置了 Init Containers(初始化容器),容器需要在应用容器启动之前按顺序成功运行。
    # 在这个阶段中,N 表示当前正在运行或已完成的初始化容器的数量,M 表示初始化容器的总数。

4.Running:
	# 一旦 Pod 上的所有容器都已创建并至少有一个容器正在运行,Pod 就会进入 Running 状态。
    # 在 Running 状态下,Pod 将继续进行健康检查和存活检查(Liveness and Readiness Probes),以确保服务正常运行。

5.Succeeded/Failed:
	# 如果 Pod 是短暂的(例如 Job 或 CronJob),那么当所有容器成功退出时,Pod 的状态会变为 Succeeded。
    # 如果有容器非正常退出(例如退出状态非零),Pod 的状态会变为 Failed。

6.CrashLoopBackOff:
	#这不是 Pod 的官方状态,但是它常常出现在 Pod 描述中。
    # 这意味着 Pod 中至少有一个容器尝试启动,但是失败了(往往是因为应用程序错误)。
    # Kubernetes 会尝试重启容器,但在连续失败后,它会等待越来越长的时间,
    # 这个等待时间增加的状态就是 CrashLoopBackOff。

7.Unknown:
	# 如果因为某些原因,节点的状态未知,那么节点上的 Pod 也会被标记为 Unknown 状态。
    # 这可能是由于节点与 Kubernetes 主节点通信失败导致的。

8.Terminating
	# 如果Pod正在被删除,但某些原因导致它没有立即停止,它可能会一直处于Terminating状态。
    # 这可能是因为Pod需要完成清理任务,或者因为存在终止Pod的钩子(hooks)正在执行。

9.Completed
	# 如果Pod是运行一次性任务的,例如批处理作业或Jobs,当任务完成后,Pod中的所有容器会正常退出(退出代码为零),
    # 而Pod状态会变为Completed。这不是错误状态,但意味着Pod不会再持久化运行。
	
10.Failed
	# 如果Pod中的容器因为某些原因异常终止(退出代码非零),Pod状态会变为Failed。
    # 这可能是由于应用程序错误、配置问题或系统资源不足导致的。
	
11.Evicted
	#当节点上的资源(如内存或磁盘空间)枯竭时,Kubernetes可能会逐出某些Pod,以释放资源给其他Pod。
    # 被逐出的Pod状态会显示为Evicted。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值