【问题标题】:Kubernetes CronJob Pod status remains RunningKubernetes CronJob Pod 状态保持为 Running
【发布时间】:2021-04-08 08:42:51
【问题描述】:

我想为 PHP 脚本运行 Kubernetes CronJob。作业正常执行,但 POD 的状态保持运行,几分钟后变为错误。它应该是 Completed 状态。尝试了不同的选项,但无法解决问题。

这是我的 CronJob Yaml 文件

这是 kubectl get pods 的输出

这是容器内的日志输出。

忽略 PHP 异常。无论异常如何,问题都存在。

【问题讨论】:

  • 您在kubectl describe pod <pod_name> 中看到了什么? (其中一个错误)
  • 退出代码 0 使 Pod 处于完成状态,退出代码 1 使其状态设置为错误。确保它没有收到任何异常或退出代码1
  • 您似乎附加了图像而不是 YAML 文件,并且附加了图像而不是纯文本 kubectl 输出。你能用实际的文本内容替换这些图像吗? (我不能kubectl apply -f PNG 文件。)
  • 感谢大家的帮助。我能够解决这个问题。正如@SaikatChakrabortty 所述,这是由于 PHP 应用程序的退出代码造成的。
  • @SaikatChakrabortt 您会考虑将您的评论转化为答案吗?

标签: docker kubernetes kubectl kubernetes-cronjob


【解决方案1】:

当正在运行的进程/应用程序或容器返回退出码0时,pod的状态设置为完成。

如果它返回一个非零退出代码,它通常会将其设置为状态Error

如果您希望 pod 设置为已完成状态,只需确保应用程序最后返回退出代码 0

意见:通常情况下应该/由应用程序本身处理。

我正在为 k8s 作业附加 docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-15
    • 2019-06-20
    • 2017-12-13
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    相关资源
    最近更新 更多