7.7.2. 收集 Source-to-Image 诊断数据

S2I 工具按顺序运行构建 pod 和部署 pod。部署 pod 负责根据构建阶段创建的应用程序容器镜像部署应用程序 pod。观察构建、部署和应用程序 pod 状态,以确定 S2I 进程中的故障发生位置。然后,重点收集诊断数据。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • API 服务仍然可以正常工作。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 在整个 S2I 过程中监控 pod 状态,以确定在哪个阶段发生故障:

    $ oc get pods -w  1
    1
    使用 -w 来监控 pod 是否有变化,直到您使用 Ctrl+C 退出命令。
  2. 检查 pod 失败的日志以找出错误。

    • 如果构建 pod 失败,请检查构建 pod 的日志:

      $ oc logs -f pod/<application_name>-<build_number>-build
      注意

      另外,您可以使用 oc logs -f bc/<application_name> 来查看构建配置的日志。构建配置的日志包括来自构建 pod 的日志。

    • 如果部署 pod 失败,请查看部署 pod 的日志:

      $ oc logs -f pod/<application_name>-<build_number>-deploy
      注意

      另外,您可以使用 oc logs -f bc/<application_name> 来查看部署配置的日志。此操作会从部署 pod 输出日志,直到部署 pod 成功完成为止。如果在部署 pod 完成后运行,命令会输出来自应用程序 pod 的日志。部署 pod 完成后,仍可通过运行 oc logs -f pod/<application_name>-<build_number>-deploy 来访问其日志。

    • 如果应用程序 pod 失败,或者应用程序没有如预期在正在运行的应用程序 pod 中发生,请查看应用程序 pod 的日志:

      $ oc logs -f pod/<application_name>-<build_number>-<random_string>