凯发k8国际娱乐官网入口-k8凯发> 云容器实例 cci> > > 事件二:重新启动容器失败
更新时间:2023-08-23 gmt 08:00

事件二:重新启动容器失败-凯发k8国际娱乐官网入口

工作负载详情中,若事件中提示重新启动容器失败,请按照如下方式来排查原因。

排查项一:查看端口是否冲突

  1. 按照配置好kubectl。
  2. 在页面上单击失败的工作负载,进入负载详情界面,查看pod列表,获取pod名字。
  3. 查看失败的容器的名称。

    kubectl describe pod $name -n $namespace | grep "error syncing pod failed to"

    图1 查看失败的容器的名称
  4. 查看退出容器的错误日志。

    kubectl logs $podname -n $namespace -c $containername

    此种问题有如下解决方法:重新创建工作负载,并配置正确的端口,确保端口不冲突。

排查项二:用户自身业务bug

请检查工作负载启动命令是否正确执行,或工作负载本身bug导致容器不断重启。

  1. 按照配置好kubectl。
  2. 在页面单击失败的工作负载,进入负载详情界面,查看pod列表,获取pod名字。
  3. 查看失败的容器的名称。

    kubectl describe pod $name -n $namespace | grep "error syncing pod failed to"

    图2 查看失败的容器的名称
  4. 查看退出容器的错误日志。

    kubectl logs $podname -n $namespace -c $containername

    根据日志提示修复工作负载本身的问题。

    图3 容器启动命令配置不正确

    此种问题的凯发k8国际娱乐官网入口的解决方案是:重新创建工作负载,并配置正确的启动命令。

排查项三:工作负载配置的健康检查执行失败

工作负载若配置liveness型(工作负载存活探针健康检查,当健康检查失败次数超过阈值时,会重启实例中的容器。在工作负载详情页面查看事件,若k8s事件中出现“liveness probe failed: ……”时,表示健康检查失败。请重新配置正确的健康检查策略。

排查项四:命名空间的资源类型错误

请检查创建命名空间时选择的资源类型是否正确,通用计算型和gpu加速型支持x86镜像。

  1. 登录控制台,在页面上单击失败的工作负载,进入负载详情界面。
  2. 查看pod列表,单击实例异常pod所在行“操作”列的“查看日志”。
  3. 查看报错信息如下。

    error: exec failed: exec format error

    error: hyper send process initiated event: error

其他定位方法

负载异常有可能是容器中运行的应用启动异常,这时可以通过手动执行启动命令,根据错误提示进行问题定位和修复。通常的做法如下:

  1. 为工作负载配置如下类型的启动命令,这样pod启动后没有启动应用程序,没有执行任何操作。

    执行启动命令前,请确认镜像中/bin/bash命令可用。

  2. pod启动成功后,执行kubectl exec进入到pod中,手动执行启动命令,根据错误提示进行问题定位和修复。
分享:

more

网站地图