首页 > 其他分享 >在K8S中,Pod生命周期包含哪些?

在K8S中,Pod生命周期包含哪些?

时间:2024-01-27 15:00:57浏览次数:41  
标签:状态 生命周期 Kubernetes 容器 probe Pod K8S

在Kubernetes(简称K8s)中,Pod的生命周期经历了一系列状态变化。以下是Pod可能处于的一些主要状态:

  1. Pending
    当创建一个Pod时,它首先会进入Pending状态。这个状态下,Kubernetes正在为Pod分配节点、拉取容器镜像或等待其他资源就绪。在这个阶段,Pod尚未被调度到具体的Node上或者其依赖的卷资源尚未准备完毕。

  2. ContainerCreating
    如果Pod已经成功被调度至某个Node,并且开始执行创建容器的操作,但容器还未启动,则Pod会处于ContainerCreating状态。

  3. Running
    当所有容器都已经成功启动并运行时,Pod会进入Running状态。此时,Pod中的所有容器都在运行,但并不代表它们已经通过了健康检查(如liveness probe和readiness probe)。

  4. Ready
    Running状态的基础上,当Pod中的所有容器都通过了readiness probe检测,表明它们已准备好接收流量,那么Pod将被视为Ready状态。只有处于Ready状态的Pod,其服务才有可能被Service正确路由请求。

  5. Succeeded
    对于一次性任务型Pod(例如Job创建的任务Pod),如果Pod内的主容器完成其工作并且退出代码为0,表示任务顺利完成,Pod会变为Succeeded状态。

  6. Failed
    当Pod内的容器由于错误而终止,且退出码非0,或者重启次数超过其重启策略允许的最大值时,Pod将转为Failed状态。此外,一次性任务型Pod若以非零退出码结束,也会标记为Failed状态。

  7. Unknown
    当kubelet无法获取Pod的状态信息时,该Pod的状态会被标记为Unknown。这通常是因为与kubelet通信的问题导致集群无法了解Pod的真实状态。

综上所述,在整个生命周期中,Kubernetes的控制器组件会持续监控Pod的状态,并根据需要采取相应的管理动作,比如重新调度、重启容器等。

标签:状态,生命周期,Kubernetes,容器,probe,Pod,K8S
From: https://www.cnblogs.com/huangjiabobk/p/17991429

相关文章

  • 在K8S中,镜像拉取策略有哪些?
    在Kubernetes(简称K8s)中,镜像更新策略主要由imagePullPolicy参数控制。当Pod中的容器镜像需要更新时,Kubernetes会根据这个策略决定如何处理镜像拉取行为。Always:如果容器的imagePullPolicy设置为Always,每次创建Pod或者重启容器时,kubelet都会尝试从镜像仓库拉取最新的镜像版本。......
  • 在K8S中,Pod删除过程会发生什么?
    在Kubernetes(简称K8s)中,删除一个Pod时会发生以下一系列事件:发出删除命令:用户通过kubectl命令行工具或者API接口发出删除Pod的请求,例如执行kubectldeletepod<pod-name>。APIServer响应:KubernetesAPIServer接收到删除请求后,验证权限并更新其内部状态,标记指定Pod为待删......
  • 004*:组件的生命周期(初始化、进行中、销毁)
    目录 正文1:生命周期-初始化/*目标1:始化生命周期的执行过程2:理解生命周期的各个钩子函数的作用*/importReact,{Component}from'react'exportdefaultclassLifeCycleComponentextendsComponent{//构造函数constructor(props){super(p......
  • 在K8S中,Pod创建过程包括什么?
    在Kubernetes(K8s)中,Pod的创建过程通常包括以下步骤:提交Pod定义:用户通过kubectl命令行工具或者调用APIServer接口,提交一个包含Pod配置信息的YAML或JSON文件。这个配置文件详细描述了Pod的元数据(如名称、标签等)、容器镜像、环境变量、端口映射、卷挂载以及其他运行时参数。接......
  • 在K8S中各个组件及其作用?
    Kubernetes(简称K8s)是一个强大的容器编排系统,其主要组件及其作用如下:kube-apiserver:集群的主入口点,提供了RESTfulAPI接口供用户或内部组件与集群进行交互。它负责验证和配置数据,并将所有请求持久化存储在etcd中。etcd:分布式键值存储系统,用于保存集群的所有关键配置数据......
  • K8S中组件是如何实现高可用?
    在Kubernetes(K8S)中,各个组件实现高可用的主要方法包括冗余部署和自动故障恢复机制。以下是Kubernetes主要组件的高可用性实现方式:kube-apiserver:高可用策略:通过在多个节点上部署多个API服务器实例,并使用负载均衡器(如云服务商提供的负载均衡或自建的负载均衡解决方案如HAProxy......
  • k8s 报错: node(s) didn't match Pod's node affinity.
    前言k8s集群中,有pod出现了Affinity,使用kubectldescribepod命令,发现了报错2node(s)didn'tmatchPod'snodeaffinity.这是因为节点被打上了污点,导致了pod没有节点可以起来解决kubectlgetnodes-ojson|jq'.items[].spec'orkubectlgetnodes-oyaml找到......
  • k8s .netcore webapi
    .netcorewebapi迁移到到k8s1.  kcreatedeploymentaaa--image=aaa-image:1.2 -r=2, 然后把生成的deploy,-oyaml,删除不必要信息,保存为yamlapiVersion:apps/v1kind:Deploymentmetadata: labels:  app:my-app name:my-app namespace:app-ns......
  • K8S 集群 apiserver-advertise-address实例节点IP切换VIP
    1.备份当前k8s集群配置文件(3个master都备份) cp-r/etc/kubernetes/etc/kubernetes.bak2.删除当前k8s集群的apiserver的cert和keyrm-rf/etc/kubernetes/pki/apiserver.*3.生成新的apiserver的cert和key,cd到pki目录下cd/etc/kubernetes/pki/---apiserver-advertise-......
  • 类的生命周期
    类的生命周期从类被加载到虚拟机内存中开始,到释放内存总共有7个阶段:加载(Loading),验证(Verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using),卸载(Unloading)。其中验证,准备,解析三个部分统称为连接(Linking)。类加载过程类是在运行期间第一次使用时动态加载......