如何确定 OpenShift 3 中是否已经存在卷?
How to determine if volume is already existing in OpenShift 3?
我正在尝试在我的 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
要使用的命令?或者有更好的方法吗?
要查找附加到 DeploymentConfig 的卷,您应该使用 oc get dc
,例如
oc get dc/mydeployment-config -o jsonpath={'$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name'}
应该显示您的卷是否已附加到此 DeploymentConfig。
如果您只是想查看已经存在的卷,您可以运行
oc get pv
查看创建的所有持久卷。
我正在尝试在我的 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
要使用的命令?或者有更好的方法吗?
要查找附加到 DeploymentConfig 的卷,您应该使用 oc get dc
,例如
oc get dc/mydeployment-config -o jsonpath={'$.spec.template.spec.volumes[?(@.name == 'mydeployment-volume')].name'}
应该显示您的卷是否已附加到此 DeploymentConfig。
如果您只是想查看已经存在的卷,您可以运行
oc get pv
查看创建的所有持久卷。