我有一个简单的bash脚本要在postStart上执行,但是我得到一个根本不提供信息的错误:
Exec lifecycle hook ([/bin/bash -c sleep 30;/xcom/scripts/sidecar_postStart.sh]) for Container "perfcibuddy" in Pod "xcomapp-597fb859c5-6r4g2_ns(412852d1-5eea-11ea-b641-0a31ddb9a71e)" failed - error: command '/bin/bash -c sleep 120;/xcom/scripts/sidecar_postStart.sh' exited with 7: , message: ""
睡着了是因为我得到一个提示,可能存在竞赛条件,在kubernetes调用它时脚本不存在。
并且如果我登录到容器,我可以从shell执行脚本而没有任何问题。
该脚本只是执行一个简单的curl调用(显然已清除IP):
# ----------------------------------------------------------------------------
# Script to perform postStart lifecycle hook triggered actions in container
# ----------------------------------------------------------------------------
# -------------------------------------------[ get token from Kiam server ]---
role_name=$( curl -s http://1.1.1.1/latest/meta-data/iam/security-credentials/ )
curl -s http://1.1.1.1/latest/meta-data/iam/security-credentials/${role_name}
我尝试了多种形式来在模板中设置命令(所有引号中都用&&代替;,这是当前的形式:
exec:
command: [/bin/bash, -c, "sleep 120;/xcom/scripts/sidecar_postStart.sh"]
这里可能是什么问题?
URL退出代码7通常是“无法连接”,因此您的IP可能有误,或者Kiam代理未正确设置。