部署到 Kubernetes pod 的应用程序在 Jenkins-X 2 中成功创建 pod,但在 Jenkins-X 3 上失败

部署到 Kubernetes pod 的应用程序在 Jenkins-X 2 中成功创建 pod,但在 Jenkins-X 3 上失败

我继承了一个应用程序,我需要将其部署为集群内的持久 pod,以便能够访问其他资源,但该应用程序仅在用户进入 pod 时按需运行。在初始化时,我不需要它做任何事情,只需让 pod稍后kubectl exec可供用户使用即可。exec

这在我们旧的 Jenkins-X 2 集群上运行良好,但新的 Jenkinx-X 3 版本却没有任何进展。

当它被部署时,状态似乎经历了一个生命周期

Running
Completed
CrashLoopBackOff

但是kubectl logs -n <<namespace>> <<podname>> -p没有显示任何错误,并且在kubectl describe pod -n <<namespace>> <<podname>>部分中Containers/<<appname>>包含

    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0

这看起来不一致 —— 我看不出它是如何进入CrashLoopBackoff最后状态的,Terminated因为CompletedExit Code0 —— 据我所知,应用程序没有失败,只是 Kubernetes 在完成时关闭了 pod,而不是让它继续运行,然后它以某种方式卡在了 CrashLoopBackoff 中。

我想知道这是否与就绪性或活性探测有关,因为找不到永久运行的进程来处理请求而导致它被终止,但删除它们或恢复到旧版本似乎没有任何区别。

可能新旧版本之间的图表出了问题,但我不知道该从哪里找。有人能指出是什么原因导致的吗?

相关内容