文档首页 > > 常见问题> 自定义任务步骤问题> 执行CCE部署任务> 容器启动内部异常

容器启动内部异常

分享
更新时间: 2020/04/09 GMT+08:00

问题现象

执行CCE部署任务时,日志最后提示“For more information, Please check the deployment event”,如下图所示。

图1 日志信息

原因分析

出现上述情况,通常是在容器启动过程中出现的异常情况,主要有以下三种情况:

  1. 内存或CPU资源配额不足,导致在容器启动失败。
  2. 镜像不正确,导致任务部署失败。
  3. 容器启动失败。

内存或CPU资源配额不足,导致在容器启动失败

内存或CPU资源配额不足,导致在容器启动失败。出现此情况通常有两种原因:

  1. 编辑任务时填写的CPU或内存配额大于该集群剩余配额,导致容器启动失败;
  2. 更新已有工作负载时,升级方式为滚动升级方式。为了保证业务不中断,在升级的时候旧容器将一直保证在运行状态,直到新容器被成功启动后才被删除。导致在升级过程中需要多余的CPU和内存资源,若该集群剩余配额不满足要求,也将导致工作负载更新失败。

对于容器启动时出现的内部异常,通常会将异常信息在实例启动事件中打印出来。待部署完成后单击“实例列表”,找到对应实例查看启动事件,确认容器启动异常原因。 CPU及内存配额不足报错信息如下两张图所示:

图2 cpu限额不足
图3 内存配额不足

处理方法

进入云容器引擎(CCE)服务,单击“集群管理”查看集群资源分配率详情,如下图所示。若CPU和内存资源不足,单击“弹性扩容”进行配额扩充。操作指南见集群自动扩容

图4 查看集群资源分配

  

镜像不正确,导致任务部署失败

镜像不正确,导致任务部署失败。通常是在镜像版本参数化时,指定版本的镜像在镜像仓库中不存在,导致启动容器时拉取镜像失败,原因定位如下图所示。

图5 未找到对应镜像导致拉去镜像失败

处理方法

进容器镜像服务(SWR),单击“我的镜像”查看部署任务所选镜像是否存在。若镜像名称正确,单击该镜像查看指定的镜像版本是否存在于镜像仓库中。

图6 镜像仓库详情

  

容器启动失败

点击实例列表,查看失败实例事件,显示一直在重新启动容器,如下图所示。

  

原因定位

通常有以下两种原因:

  1. 启动容器时,容器中的应用程序启动异常,导致失败。
  2. 容器启动后内部无进程,导致容器一直尝试重启。

      

定位及解决方式

  1. 对于CCE部署,建议登录实例所在节点查看容器启动日志。实例所在节点如图所示。

      

    1. 第一步,执行命令“docker ps |grep 负载名称”获取容器ID。

        

    2. 第二步,执行命令“docker logs 容器ID”查看容器启动日志。

        

  2. 若没有日志启动日志或者启动日志正常,进入容器内部查看容器内是否有运行的进程。
    1. 对于CCE部署,建议登录节点,执行如下命令。
      1. 执行命令“docker ps |grep 负载名称”获取容器名称。

          

      2. 执行命令“docker exec –it 容器名 /bin/sh(/bin/bash)”进入容器。
      3. 在容器中执行命令“ps -ef”查看是否有进程运行。
    1. 对于CCI部署,建议进入云容器实例服务(CCI),在Pod一栏中的终端中查看容器详情,如下图所示。

      

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问