You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

存活探针执行失败求助:OCI runtime exec格式错误排查

解决Kubernetes存活探针exec格式错误问题

问题原因及对应解决方案

1. 脚本缺少Shebang头

脚本未指定解释器,kubelet执行时无法确定运行环境,导致格式错误。在livenessprobe.sh开头添加一行指定解释器:

#!/bin/bash

如果容器内只有sh环境,替换为#!/bin/sh。

2. 脚本无执行权限

构建镜像时需确保脚本拥有可执行权限,在Dockerfile中添加:

RUN chmod +x /path/to/livenessprobe.sh

若临时测试,可进入容器执行chmod +x ./livenessprobe.sh,但建议在镜像构建阶段固化配置。

3. 直接在探针中执行curl命令(绕过脚本)

无需依赖脚本,将curl命令直接写入探针配置,避免脚本相关问题:

livenessProbe:
  exec:
    command:
    - curl
    - --fail
    - -H
    - "Authorization: Basic <redacted>=="
    - -H
    - "Content-Type: application/json"
    - -H
    - "x-geeiq-origin: liveness-probe"
    - -i
    - -X
    - POST
    - -d
    - "@livenessprobe-request.json"
    - http://0.0.0.0:8080/
  initialDelaySeconds: 180 
  periodSeconds: 180
  timeoutSeconds: 120
  failureThreshold: 2
  successThreshold: 1

4. 检查脚本换行符格式

若脚本在Windows环境编辑,换行符为CRLF格式,而Linux容器仅识别LF格式,会导致执行报错。可使用dos2unix工具转换,或在编辑器中设置为LF换行模式。


内容的提问来源于stack exchange,提问作者Kay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:43:28