K8S——Pod详解

1Pod生命周期

Pod遵循定义的生命周期,从该Pending 阶段开始,Running 阶段其主容器中至少有一个开始运行OK,Succeeded或 Failed阶段,根据Pod中的任何容器是否以失败终止。

1.1 Pod生命状态含义

1.1.1 Pending 该Pod已被Kubernetes集群接受,但是尚未设置一个或多个容器并使其可以运行。这包括Pod等待排定所花费的时间,以及通过网络下载容器映像所花费的时间。

1.1.2 Running Pod已绑定到一个节点,并且所有容器都已创建。至少一个容器仍在运行,或者正在启动或重新启动。

1.1.3 Succeeded Pod中的所有容器已成功终止,因此不会重新启动。

1.1.4 Failed Pod中的所有容器均已终止,并且至少一个容器因故障而终止。也就是说,容器要么以非零状态退出,要么被系统终止。

1.1.5 Unknown 由于某种原因,无法获得Pod的状态。此阶段通常是由于与Pod应该在其中运行的节点通信时发生错误而发生的。

1.1.6

Pod 的详细状态

CrashLoopBackOff: 容器退出,kubelet正在将它重启

InvalidImageName: 无法解析镜像名称

ImageInspectError: 无法校验镜像

ErrImageNeverPull: 策略禁止拉取镜像

ImagePullBackOff: 正在重试拉取

RegistryUnavailable: 连接不到镜像中心

ErrImagePull: 通用的拉取镜像出错

CreateContainerConfigError: 不能创建kubelet使用的容器配置

CreateContainerError: 创建容器失败

m.internalLifecycle.PreStartContainer 执行hook报错

RunContainerError: 启动容器失败

PostStartHookError: 执行hook报错

ContainersNotInitialized: 容器没有初始化完毕

ContainersNotReady: 容器没有准备完毕

ContainerCreating:容器创建中

PodInitializing:pod 初始化中

DockerDaemonNotReady:docker还没有完全启动

NetworkPluginNotReady: 网络插件还没有完全启动

2 Pod生成过程(一般通过yaml脚本创建)

Pods被认为是相对短暂的(而不是持久的)实体。创建Pod,为其分配一个唯一的ID(UID),并将其调度到保留它们的节点,直到终止(根据重新启动策略)或删除为止。如果一个节点死掉后,安排到该节点的Pod计划在超时后删除。

3 Pod重启策略(一般重启通过删除Pod,下面的重启策略是在触发某种条件而重启。)

支持三种RestartPolicy:

Always:只要退出就重启。

OnFailure:失败退出(exit code不等于0)时重启。

Never:只要退出就不再重启。

资源清单脚本配置重启策略

apiVersion: v1
kind: Pod
metadata:
 name: test-pd
spec:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值