Вы не можете выполнять такую условную обработку на уровне шаблона.
Но для достижения желаемого результата вы можете выполнить одно из двух действий.
Опция 1 Передать все параметры, необходимые для обработки условия на уровне шаблона., например, MQTT-PORT
и сопоставьте правильный номер порта при создании службы.Это может быть правильным подходом, так как шаблоны разработаны так, чтобы быть как можно менее логичными, вы принимаете все решения на гораздо более низком уровне.
Вариант 2 Если вы можете расслабитьограничение "тот же шаблон", у нас может быть 2 варианта одного и того же шаблона, один с определенным портом, а другой с параметризованным портом.Единственная проблема, связанная с этим параметром, заключается в изменении 2 шаблонов при каждом изменении спецификаций приложения / службы, что нарушает принцип DRY .
Обновление
Использование Helm с OpenShift может быть лучшим вариантом здесь.Вы можете шаблонизировать свои артефакты, используя условные обозначения Helm, и развернуть приложение Helm в OpenShift.Вот репозиторий с таблицей Хелма, специально разработанной для OpenShift.Кроме того, вам нужно указать правильное пространство имен, чтобы Tiller мог использовать Helm с OpenShift.Вы можете найти более подробную информацию об этом здесь .