use*_*312 5 kubernetes google-kubernetes-engine
我正在通过 cron 运行 Kubernetes 作业。在某些情况下,作业可能会失败,我希望它们重新启动。我正在安排这样的工作:
kubectl run collector-60053 --schedule=30 10 * * * * --image=gcr.io/myimage/collector --restart=OnFailure --command node collector.js
我遇到了一个问题,其中一些作业正在运行并失败,但相关联的 pod 正在消失,所以我无法查看日志并且它们没有重新启动。
例如:
$ kubectl get jobs | grep 60053
collector-60053-1546943400 1 0 1h
$ kubectl get pods -a | grep 60053
$ // nothing returned
Run Code Online (Sandbox Code Playgroud)
这是在运行 1.10.9-gke.5 的 Google Cloud Platform 上
任何帮助将非常感激!
编辑:
我发现了更多信息。我的 GCP 集群上有自动缩放设置。我注意到当服务器被移除时,pods(以及它们的元数据)也会被移除。这是预期的行为吗?不幸的是,这让我无法轻松查看 pod 日志。
我的理论是,当 pod 出现故障时,CrashLoopBackOff 会启动并最终自动缩放决定不再需要该节点(它不会将 pod 视为活动工作负载)。此时,节点消失了,Pod 也消失了。我不认为这是 Restart OnFailure 的预期行为,但我基本上通过密切观察目睹了这一点。
| 归档时间: |
|
| 查看次数: |
3895 次 |
| 最近记录: |