【问题标题】:How to determine if volume is already existing in OpenShift 3?如何确定 OpenShift 3 中是否已经存在卷?
【发布时间】:2019-01-29 06:22:18
【问题描述】:

我试图在我的 Jenkins 管道中创建一个步骤,我想确定一个卷是否已经存在,如果它不存在,那么我将发出一个 oc set volume dc/mydeployment-config ... 命令,如果它已经存在,那么我将只使用 --overwrite 选项。

我正在查看 jsonpath 以确定我的卷的预期名称是否已经存在,这就是我现在拥有的。

$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name

我也试过了

oc set volume dc/mydeployment-config -o jsonpath={'$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name'}

错误是

error: --list and --output may not be specified together

任何人都可以向正确的方向轻推我以确定正确的方向

oc set volume 

要使用的命令?或者是否有更好的方法来做到这一点?

【问题讨论】:

  • 既然您在 DC 上检查卷,为什么不直接在您的 -o jsonpath 中使用 oc get DC?
  • @WillGordon 我能够根据您的评论实现这一点。如果你提出答案,我可以接受。

标签: openshift openshift-3


【解决方案1】:

要查找附加到 DeploymentConfig 的卷,您应该使用 oc get dc,例如

oc get dc/mydeployment-config -o jsonpath={'$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name'}

应该显示您的卷是否已附加到此 DeploymentConfig。


如果你只是想查看已经存在的卷,你可以运行

oc get pv

查看所有创建的持久卷。

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 1970-01-01
    • 2017-08-08
    • 2012-11-24
    • 2016-06-21
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多