Как определить, существует ли том в 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
чтобы увидеть все постоянные тома, созданные.