kubernetes - 观看Kubernetes作业输出直到完成

标签 kubernetes kubectl

有没有办法使用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/

相关文章:

docker - Kubernetes-将多个镜像部署到单个Pod中

kubernetes - 类型为 : LoadBalancer 的入口或服务

azure - 无法将 Azure Key Vault 与 Azure Kubernetes 服务集成

docker - NGINX Plus容器抛出错误,因为找不到nginxplus可执行文件

kubernetes - 无法将部署从 apiVersion extensions/v1beta1 升级到 apps/v1,它会自动使用 extensions/v1beta1

docker - 如何在 k8s 容器中禁止网络?

amazon-web-services - 如何修改与我使用的公司集群分离的 kubernetes 配置文件以添加第二个集群?

kubernetes - K8s全局Pod设置

windows - 客户端 (1.24) 和服务器 (1.20) 之间的版本差异超出了支持的次要版本偏差 +/-1

image - 如何删除 kubernetes 中的部署/镜像