我有一个简单的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"]这里会有什么问题呢?
发布于 2020-03-06 00:15:47
Curl退出代码7通常是“无法连接”,因此您的IP可能是错误的,或者kiam代理没有正确设置。
https://stackoverflow.com/questions/60548695
复制相似问题