Как определить, существует ли том в OpenShift 3? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь создать шаг в моем конвейере 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 

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

1 Ответ

0 голосов
/ 29 марта 2019

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

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

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


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

oc get pv

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

...