如何从 OpenShift 中失败的 build-pod 中获取文件?

如何从 OpenShift 中失败的 build-pod 中获取文件?

我在 OpenShift 上有一个 buildconfig,但无法构建。输出告诉我该server.log文件可能包含更多信息。但 OpenShift 在运行后立即删除了 build-pod,所以我无法访问该文件。

我不太熟悉 OpenShift,但似乎没有启动 pod/容器的命令。在 buildConfigs Yaml 中,也没有任何可以解决问题的东西。添加 restartPolicy 也无济于事。

如何获取文件内容?

edit1:buildConfig 的 postCommit 钩子没有运行。我将其设置为

postCommit:
  script: echo POSTCOMMIT-HOOK && cat /home/payara/paasDomain/logs/server.log

答案1

请尝试通过在容器内部引入一个人工的永无止境的任务来保持容器在构建容器内运行:

postCommit:
  command: ["/bin/bash", "-c", "--"]
  args: ["while true; do sleep 60; done;"]

然后只需执行 pod 内的容器即可分析内部 server.log 文件:

kubectl exec pod <pod_name> -c <container_name> -- /bin/bash

希望对您有帮助。请查看这里还可以了解在 Kubernetes 中保持 pod 运行的其他方法。

相关内容