openshift pods 的 CrashLoopBackOff 状态是什么?

What is CrashLoopBackOff status for openshift pods?

我在 openshift origin 的 pod 运行ning 中看到了这种状态的例子不止一个。在这种情况下,它是 cdi camel 示例的快速入门。我能够在本地成功构建并运行它(非-openshift)但是当我尝试在我的本地openshift上部署(使用mvn -Pf8-local-deploy)时,我得到了那个特定示例的输出(为了相关性而被剪掉) :-

[vagrant@vagrant camel]$ oc get pods NAME READY STATUS RESTARTS AGE cdi-camel-z4czs 0/1 CrashLoopBackOff 4 2m

日志尾部如下:-

  Error occurred during initialization of VM
  Error opening zip file or JAR manifest missing : agents/jolokia.jar
  agent library failed to init: instrument

谁能帮我解决这个问题?

如果 pod 的状态进入 CrashLoopBackOff,这通常表示容器内的应用程序无法正常启动,因此容器会立即退出。

如果您在 pod 名称上使用 oc logs,您可能看不到任何有用的信息,因为它会捕获最近一次启动它的尝试,并且可能会错过消息。

您应该做的是向 oc logs 提供 --previous-p 选项以及 pod 名称。这将向您显示上次尝试启动容器的完整日志。

如果这是您正在使用的任意 Docker 图像,可能会发生并导致容器无法启动的常见问题是需要 运行 的应用程序图像根用户。因为 运行 将容器内的应用程序设置为 root 仍然存在风险,OpenShift 默认不允许您这样做,而是 运行 作为任意分配的用户 ID。应用程序图像在设计时可能没有考虑到这种可能性,因此失败了。

因此尝试获取这些日志消息并查看问题所在。

临时解决方法 -> https://github.com/fabric8io/ipaas-quickstarts/issues/1157

基本上src/main/hawt-app目录需要删除