【问题标题】:Getting accurate status of openshift pod deployment获取 openshift pod 部署的准确状态
【发布时间】:2020-01-19 23:22:13
【问题描述】:

我在 Jenkins 中有执行“oc patch”和“oc rollout”命令的部署阶段。这些命令替换了 DeploymentConfig 中的 docker 镜像名称,并在 openshift 中发布了更改。 可以想象,这是异步调用。这意味着在 Jenkins 中,我无法验证新部署的 pod 是否正在运行或失败。 Jenkins 只是执行 oc 命令并继续执行下一个阶段。我的要求是我想在 Jenkins 中获取 pod 的实际状态以标记管道成功/失败。

我找不到任何 oc 或 kubectl 命令可以使用同步调用为我提供准确的部署状态。作为解决方法,我编写了 shell 脚本,它在“oc rollout”后的一定时间内检查 pod 的状态(使用 grep),并将退出状态发送回 Jenkins shell。随着管道执行时间的增加,我觉得这不是进行部署验证的正确方法。

我们在 openshift/kubernetes 中是否有标准实用程序,它可以提供我可以依赖的 pod 部署后的准确状态,并使用它可以在 Jenkins 中标记我的部署管道成功/失败。

请注意,我正在管道中打开 shell 会话并在安装了 oc cli 的代理上执行 oc cli 命令。此代理不是 openshift 集群的一部分,Jenkins 位于 openshift 集群之外。

【问题讨论】:

  • 你试过oc rollout status。它将等待部署完成。

标签: jenkins kubernetes openshift


【解决方案1】:

你必须使用oc rollout status

概要

oc 推出状态

说明

观察最新发布的状态,直到完成。

【讨论】:

    猜你喜欢
    • 2018-06-13
    • 2020-02-14
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2019-01-04
    • 1970-01-01
    相关资源
    最近更新 更多