2、Pod异常状态排错
一、常用命令
首先列出Pod排查过程中我这边的常用命令:
- 查看Pod状态:kubectl get pod podname -o wide
- 查看Pod的yaml配置:kubectl get pods podname -o yaml
- 查看pod事件:kubectl describe pods podname
- 查看容器日志:kubectl logs podsname -c container-name
二、Pod状态
- Error:Pod 启动过程中发生错误
- NodeLost : Pod 所在节点失联
- Unkown : Pod 所在节点失联或其它未知异常
- Waiting : Pod 等待启动
- Pending : Pod 等待被调度
- ContainerCreating : Pod 容器正在被创建
- Terminating : Pod 正在被销毁
- CrashLoopBackOff : 容器退出,kubelet 正在将它重启
- InvalidImageName : 无法解析镜像名称
- ImageInspectError : 无法校验镜像
- ErrImageNeverPull : 策略禁止拉取镜像
- ImagePullBackOff : 正在重试拉取
- RegistryUnavailable : 连接不到镜像中心
- ErrImagePull : 通用的拉取镜像出错
- CreateContainerConfigError : 不能创建 kubelet 使用的容器配置
- CreateContainerError : 创建容器失败
- RunContainerError : 启动容器失败
- PreStartHookError : 执行 preStart hook 报错
- PostStartHookError : 执行 postStart hook 报错
- ContainersNotInitialized : 容器没有初始化完毕
- ContainersNotReady : 容器没有准备完毕
- ContainerCreating :容器创建中
- PodInitializing :pod 初始化中
- DockerDaemonNotReady :docker还没有完全启动
- NetworkPluginNotReady : 网络插件还没有完全启动
大约 19 分钟