本文介绍阿里云容器服务ACK集群在使用过程中常见问题的故障分析和排查流程。

ACK集群异常

更多关于容器服务ACK的常见问题,请参见常见问题

容器服务ACK应用故障排查

  • Pod停留在Pending状态

    表示该Pod不能被调度到任何一个节点上,通常是因为集群中缺乏需要的资源导致。您可以通过kubrctl describe pod命令查看事件和排查。具体操作,请参见Pod状态为Pending

  • Pod停留在Waiting状态

    说明此Pod已经被调度到某个节点,但是却不能运行。通常是私有镜像、公网镜像拉取不成功或镜像地址不存在等问题导致。具体操作,请参见Pod状态为Wating

  • Pod不断被拉起但状态为Crashing或者Unhealthy

    通常表示Pod已经完成调度并启动,但是启动失败,通常是由配置、权限等问题造成。您可以查看容器的日志,以诊断容器中应用程序出现的问题。具体操作,请参见Pod状态为Crash或者Unhealthy

  • Pod状态为Running但是没有正常工作

    通常是由部署使用的YAML文件中存在的部分字段拼写错误造成的,您可以通过校验部署来进行故障排查。具体操作,请参见Pod状态为Running但是没正常工作

  • Service无法正常工作

    在排除网络插件自身的问题外,最可能的是label配置有问题,您可以通过查看endpoints进行故障排查。具体操作,请参见检查Service

如何升级集群?

升级集群有如下两种方案:

排查故障的经典步骤与常见原因

  • ECS实例之间的互通是否有异常?具体操作,请参见ECS实例间ping不通的排查思路
  • 安全组是否配置有误?具体操作,请参见安全组配置检查

    关于如何配置ECS安全组,请参见ECS安全组配置案例

  • 使用的RAM用户(即子账户)是否被正确授权?具体操作,请参见为RAM用户授权
  • 采用docker run的方式执行命令,确认运行环境是否正常?
  • 当集群异常时,是否可以使用kubectl命令登录集群?执行kubectl get event命令是否有异常?具体操作,请参见通过kubectl工具连接集群
  • 在K8s里通过一个Pod去访问目标的Pod是否正常?具体操作,请参见Pod访问其他节点上的Pod异常
  • 通过Service方式访问应用是否正常?具体操作,请参见通过使用已有SLB的服务公开应用
  • 通过Ingress方式访问应用是否正常?具体操作,请参见通过ALB Ingress访问服务
  • API Server、Scheduler或Controller日志是否有异常?
  • Docker Daemon日志是否有异常?
    如果报错信息提示docker daemon is not running,您只需要在cmd.exe中执行,开启守护进程即可。
    • 如果您使用的系统是Windows,请执行以下命令开启守护进程:
      cd C:\Program Files\Docker\Docker
      DockerCli.exe -SwitchDaemon
    • 如果您使用的系统是Linux,请执行以下命令开启守护进程:
      service docker restart

如何通过查看日志排查故障?

您可以通过以下命令查询日志信息,排查分析故障:

  • 查看事件:kubectl describe ****
  • Docker引擎日志:journalctl -u docker -f
  • Kubelet日志:journalctl -u kubelet -f
  • API Server日志:docker logs <api server container id>
    说明 该命令用于查看专有集群的API Server日志,如果是托管集群,具体操作,请参见收集托管集群控制平面组件日志
  • Scheduler日志:docker logs <scheduler container id>
  • Worker proxy日志:docker logs <worker proxy container id>
  • Master proxy日志:docker logs <master proxy container id>
  • Controller日志:docker logs <controller container id> <controller container id>涉及的组件包括kube-controller、alicloud-monitor-controller、alicloud-disk-controller和 cloud-controller。

建议您将上述信息上传到日志分析服务进行分析。具体操作,请参见快速入门