2

按照文档和此处提供的示例: https ://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#running-an-example-job

我跑kubectl apply -f job.yaml

kubectl apply -f job.yaml                                    
job.batch/pi created

使用 get pod 监控作业pi-fts6q 1/2 Running 0 52s

即使在作业完成并检查日志显示它已完成后,我也总是看到 1/2 Running。

我怎样才能让工作显示完成状态?该作业将永远处于运行状态,显示没有完成。

Parallelism:    1
Completions:    1
Start Time:     Thu, 06 Jun 2019 16:21:36 -0500
Pods Statuses:  1 Running / 0 Succeeded / 0 Failed

完成工作的底层 pod 似乎已完成,但实际的作业控制器永远存在。

4

2 回答 2

1

我只是在作业脚本的末尾添加了这两个 curl 来杀死 is​​tio 和 Pilot:

curl --request POST localhost:15000/quitquitquit || echo 'No istio it is then'
curl --request POST localhost:15020/quitquitquit || echo 'No istio at all, not even pilot'
于 2020-04-30T22:47:08.610 回答
1

问题在于代理代理的不完整实现。

只需向代理代理添加一个“/quitquitquit”处理程序。

用户可以在工作完成后手动向 localhost 添加 curl 或 http 请求以停止 sidecar。P0 是一种解决方法。

您可以在此处找到更多信息:istio-issue

于 2019-06-12T10:22:15.280 回答