IBM Cloud Docs
为什么我的作业运行未完成?

为什么我的作业运行未完成?

使用控制台时,您提交作业,但作业运行未完成。

使用 CLI 时,在提交作业后,作业运行未完成。 您可以通过运行 ibmcloud ce jobrun get 命令来确认此结果,以显示作业运行的详细信息,并且作业运行状态结果不包含以下输出:

Status:                True
Type:                  Complete

如果作业运行未完成,请确定是否存在下列其中一种情况。

  1. 作业运行需要更多时间才能完成。
  2. 作业运行所使用的映像不存在。
  3. 超出了容器注册表配额,或者注册表需要认证。
  4. 未指定作业运行所需的环境变量参数。
  5. 传递到作业运行的命令或参数无效。

尝试其中一个解决方案。

  1. 请检查是否指定了足够的时间来运行作业。

    • 从控制台的作业页面中,单击 提交作业 以运行基于所选作业及其定义的属性的作业。 检查是否正确设置了 作业超时 值,并指定足够的时间供作业运行完成。

    • 使用 CLI ,检查是否正确设置了 --maxexecutiontime MAX_TIME 选项,以及是否指定了足够的时间来完成作业运行。

  2. 检查作业运行所使用的映像是否存在并正确引用。

    • 从控制台的作业页面中,检查为 映像引用 指定的映像是否正确,并确认此映像存在于容器注册表中。

    • 通过 CLI ,使用 ibmcloud ce jobrun get 命令显示作业运行的详细信息,其中包括映像的名称。 确认您正在使用存在的映像。

  3. 通过运行 ibmcloud ce jobrun events --jobrun JOBRUN_NAME 命令来检查 ImagePullBackOff 错误; 例如,

    ibmcloud ce jobrun events --jobrun myjobrun
    
    • 如果事件中的错误类似于以下消息,那么此错误指示超出注册表配额。 请考虑升级套餐。 有关 IBM Cloud Container Registry 服务套餐和配额限制的信息,请参阅 关于 IBM Cloud Container Registry
      403 Forbidden - Server message: denied: You have exceeded your pull traffic quota for the current month. Review your pull traffic quota and pricing plan.
      
    • 如果事件中的错误类似于以下消息,那么此错误指示对注册表的访问不存在或可能需要授权。 检查您的凭证是否具有相应的 注册表访问权
      Failed to pull image "<image_name>": rpc error: code = Unknown desc = failed to pull and unpack image "<image_name:image_tag>": failed to resolve reference <image_name:image_tag>": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed.
      
  4. 查看已提交作业运行的详细信息。

    • 在控制台中,通过单击作业页面上的 作业运行 选项卡中的作业运行名称来查看已提交作业运行的详细信息。 在已提交的作业运行详细信息页面中,您可以查看设置的任何环境变量,并检查这些环境变量是否正确。

    • 通过 CLI ,使用 ibmcloud ce jobrun get 命令并查看以下项的结果:

      • 检查使用 --env KEY=VALUE--env-from-secret SECRET_NAME--env-from-configmap CONFIGMAP_NAME 选项设置的任何环境变量在作业运行详细信息中是否正确。
      • 使用 ibmcloud ce secret get --name SECRET_NAMEibmcloud ce configmap get --name CONFIGMAP_NAME 命令来检查存储在私钥和 configmap 中的任何环境变量是否存在。
  5. 验证命令和参数对于作业运行是否有效。

    • 在控制台中,通过在作业页面上的 作业运行 选项卡中单击作业运行的名称来查看控制台中已提交作业运行的详细信息。 提交的作业详细信息页面列出了为提交的作业运行定义的任何命令或参数。 命令和自变量中的顺序很重要。

    • 通过 CLI ,使用 ibmcloud ce jobrun get 命令来查看已提交作业运行的详细信息。 命令和自变量中的顺序很重要。

如果这些解决方案无法解决您的问题,请尝试检索作业运行的日志或系统事件信息以进行进一步调试。 有关更多信息,请参阅 如何获取作业运行实例的日志?如何获取作业运行实例的系统事件信息? (CLI)

有关运行作业的更多信息,请参阅 运行作业