Kubernetes postStart生命周期挂钩以7退出

问题描述 投票:0回答:1

我有一个简单的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"]

这里可能是什么问题?

bash kubernetes hook lifecycle
1个回答
0
投票

URL退出代码7通常是“无法连接”,因此您的IP可能有误,或者Kiam代理未正确设置。

© www.soinside.com 2019 - 2024. All rights reserved.