有没有办法使用kubectl监视作业的输出(STDOUT和STDERR)?我们需要等待作业完成,观察其输出,如果作业完成时出现错误,则应中断整个过程。
我想将作业输出(STDOUT和STDERR)重定向到我当前的进程STDOUT。我想等待工作完成。万一错误完成,当前进程(通过kubectl触发了作业)也应该错误完成。我知道kubectl wait
,但据我所知,它不支持监听作业输出。
最佳答案
我们最终使用了三个命令来完成任务。首先,我们删除旧的作业(它可能已经运行过),创建新的作业,等待完成(带有超时),完成后,我们打印日志:
kubectl delete job my-job || true
kubectl apply -f ./jobs/my-job.yaml
kubectl wait --for=condition=complete job/my-job --timeout=60s
echo "Job output:"
kubectl logs job/my-job
关于kubernetes - 观看Kubernetes作业输出直到完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56743151/