用户指南

最佳实践

API 文档

概述

最近更新时间:2020-04-16 10:12:58

为满足一定的业务需求,用户往往需要对容器服务集群进行一系列复杂的自定义配置。而当集群中的 Pod 出现某种异常时,可能一时无法直接通过异常状态准确定位异常原因。

基于以上现象,您可参考 Pod 异常问题 系列文档进行问题排查、定位及解决。

常用命令

排查过程的常用命名如下:

  • 查看 Pod 状态:
    kubectl get pod <pod-name> -o wide
  • 查看 Pod 的 yaml 配置:
    kubectl get pod <pod-name> -o yaml
  • 查看 Pod 事件:
    kubectl describe pod <pod-name>
  • 查看容器日志:
    kubectl logs <pod-name> [-c <container-name>]

Pod 状态

下表中列举了 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 网络插件还没有完全启动。

问题定位

您可根据 Pod 的异常状态,选择对应参考文档进一步定位异常原因:

目录