我的 CI 工具使用生命周期,所以如果 Dev 部署有效,它会进入 QA。
我有一个端到端的测试容器,我想在 kubernetes 中运行,但是如何从容器中获取退出代码?
我可以以某种方式运行容器并在一个命令中取回退出代码吗?kubectl run -it
似乎没有得到退出代码,并且在容器完成后还有一些额外的事情要说。
最佳答案
要从 Pod(容器)获取退出代码,您可以使用以下命令获取 Pod 详细信息:
kubectl get pod termination-demo --output=yaml
输出:
apiVersion: v1
kind: Pod
...
lastState:
terminated:
containerID: ...
exitCode: 0
finishedAt: ...
message: |
Sleep expired
...
要了解更多信息,您可以查看 documentation.
为了让它更容易,你可以运行:
kubectl get pod busybox-term -ojson | jq .status.containerStatuses[].lastState.terminated.exitCode
或者如果您不想安装
jq
,你可以运行:kubectl get pod busybox-term --output="jsonpath={.status.containerStatuses[].lastState.terminated.exitCode}"
关于kubernetes - 如何使用 kubectl 启动容器并取回退出代码?没有 kubectl exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61338886/