gpt4 book ai didi

kubernetes - pod如何反射(reflect)K8S Job的应用退出码

转载 作者:行者123 更新时间:2023-12-04 07:22:12 25 4
gpt4 key购买 nike

我正在运行 K8S 作业,带有以下标志:

apiVersion: batch/v1
kind: Job
metadata:
name: my-EP
spec:
template:
metadata:
labels:
app: EP
spec:
restartPolicy: "Never"
containers:
- name: EP
image: myImage
作业启动,运行我的脚本,该脚本运行一些向我发送电子邮件然后终止的应用程序。应用程序将退出代码返回给 bash 脚本。
当我运行命令时:
kubectl get pods,我得到以下信息:
NAME               READY   STATUS      RESTARTS   AGE
my-EP-94rh8 0/1 Completed 0 2m2s
有时会出现问题,并且网络未连接或没有可用的许可证。
我希望 pod 用户可以看到它。
我的问题是,当我运行上面的 get pods 命令时,我可以传播要查看的脚本退出代码吗?
I.E 而不是“已完成”状态,我想看到我的应用程序退出代码 - 0, 1, 2, 3 ....
或者也许有一种方法可以在 Pods Statuses 中的 describe 命令中查看它?
目前我看到:
Pods Statuses:  0 Running / 1 Succeeded / 0 Failed
这可能吗?

最佳答案

k8s jobs 上的非零退出代码会落入Failed pod 状态。确实没有办法让 kubectl get pods 显示退出代码但是你可以用 -ojson 输出 pod 状态然后通过管道将其导入 jq寻找退出代码。来自 this post 的类似内容可能有用

 kubectl get pod pod_name -c container_name-n namespace -ojson | jq .status.containerStatuses[].state.terminated.exitCode
或者这个,用 items[]在json中
kubectl get pods -ojson | jq .items[].status.containerStatuses[].state.terminated.exitCode

关于kubernetes - pod如何反射(reflect)K8S Job的应用退出码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68423814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com