概念:
pod为kubernetes编排容器的最小控制单元,可以简单理解为应用的服务端处理客户端请求。其特点如下:
- pod是k8s的最小控制单元。
- pod中可以有一个容器,也可以有多个容器。
- pod的生命周期是短暂的,不能自愈。
- pod的管理是通过控制器来创建管理的。
pod创建过程:
pod常见状态:
序号 | 状态码 | 状态描述 |
---|---|---|
1 | Unschedulable | Pod不能被调度, kube-scheduler没有匹配到合适的node节点 |
2 | PodScheduled | pod正处于调度中,在kube-scheduler刚开始调度的时候,还没有将pod分配到指定的node,在筛选出合适的节点后就会更新etcd数据,将pod分配到指定的node |
3 | Pending | 正在创建Pod但是Pod中的容器还没有全部被创建完成 |
4 | Failed | Pod中有容器启动失败而导致pod工作异常 |
5 | Unknown | 由于某种原因无法获得pod的当前状态,通常是由于与 pod所在的node节点通信错误 |
6 | Initialized | 所有pod中的初始化容器已经完成了 |
7 | ImagePullBackOff | Pod所在的node节点下载镜像失败 |
8 | Running | Pod内部的容器已经被创建并且成功启动 |
9 | Ready | 表示pod中的容器已经可以提供访问服务 |
10 | Error | pod 启动过程中发生错误 |
11 | Waiting | Pod 等待启动 |
12 | Terminating | Pod 正在被销毁 |
13 | CrashLoopBackOff | pod启动失败,kubelet正在将他重启 |
14 | ErrImageNeverPull | 策略禁止拉取镜像,镜像中心权限是私有等 |
15 | RegistryUnavailable | 镜像服务器不可用,网络原因或harbor宕机 |
16 | ErrImagePull | 镜像拉取出错,超时或下载被强制终止 |
17 | CreateContainerConfigError | 不能创建kubelet使用的容器配置 |
18 | CreateContainerError | 创建容器失败 |
19 | RunContainerError | pod运行失败,容器中没有初始化PID为1的守护进程等 |
20 | ContainersNotInitialized | pod没有初始化完毕 |
21 | ContainersNotReady | pod没有准备完毕 |
22 | ContainerCreating | pod正在创建中 |
23 | PodInitializing | pod正在初始化中 |
24 | NetworkPluginNotReady | 网络插件没有启动 |