Как определить, существует ли том в 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 

Команду использовать? Или есть ли лучший способ сделать это?

0 ответов

Чтобы найти тома, подключенные к DeploymentConfig, вы должны использовать oc get dcтак что-то вроде

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

должен показать вам, если ваш том уже подключен к этому DeploymentConfig.


Если вы просто хотите увидеть уже существующие тома, вы можете запустить

oc get pv

чтобы увидеть все постоянные тома, созданные.

Другие вопросы по тегам