一、Pod生命周期
Pod的status字段是一个PodStatus
对象
使用两种方式可以查看Pod详情
kubectl get pod -o yaml
kubectl describe pod
可以查看Pod的信息
1 | kind: Pod |
Pod阶段(粗略状态)
其中status.phase
字段,表示的就是Pod的阶段或状态
阶段值 | 描述 |
---|---|
Pending(待处理) |
① 已经被Kubernetes接受,但是有一个或多个容器还没有被创建和运行; 说明:此阶段包括两个时间:等待Pod被调度的时间和通过网络下载镜像的时间 |
Running(运行中) |
Pod已经被分配到某个节点上了 Pod中所有容器都已经被创建,至少有一个容器在运行、或处于启动或重启状态 |
Succeeded(已成功) |
Pod中的所有容器都已成功运行,并且不会再重启 |
Failed(已失败) |
Pod中所有容器都已终止,并且至少有一个容器因为失败而停止。也就是说,容器以非0状态退出或被系统终止 |
Unknown(未知) |
因为某些原因无法取得Pod状态,通常是因为与Pod所在主机通信失败 |
Pod状况(详细状态)
每个Pod都有一个PodStatus,它是一个PodCondition
数组,通过它可以判断Pod是否通过了状况测试
状况值 | 描述 |
---|---|
PodScheduled(Pod已调度) |
Pod已经被分配到某个节点上了 |
PodReadyToStartContainers(Pod已就绪) |
Pod沙箱被成功创建并且配置了网络 |
ContainersReady(容器已就绪) |
Pod 中所有容器都已就绪 |
Initialized(容器已初始化) |
所有的Init容器都已成功完成 |
Ready(已完成) |
Pod 可以为请求提供服务,并且应该被添加到对应服务的负载均衡池中 |
容器状态
一旦调度器将Pod分派给某个节点,kubelet
就通过容器运行时来为Pod创建容器
状态值 | 描述 |
---|---|
Waiting(等待中) |
容器正在为启动做一些工作(比如:正在从镜像仓库拉取镜像、正在向容器应用Secret数据) |
Running(运行中) |
容器正在执行中且没有发生任何问题 说明:如果配置了postStart回调,该状态下就已经回调了该方法 |
Terminated(已终止) |
运行中的容器正常结束或因某些原因而结束失败 说明:如果配置了preStop回调,进入该状态之前会回调该方法 |
扫描二维码,分享此文章