Могут ли шаблоны Openshift создавать объекты в нескольких проектах

Если я создаю проект «A» и хочу развернуть внутри него шаблон, который создает объекты в проекте «A», а также в другом проекте «B», как бы я этого добился. Я попытался просто указать пространство имен проекта «B» в шаблоне, но получил ошибку

пространство имен предоставленного объекта не совпадает с пространством имен, отправленным по запросу


person Richard Chester    schedule 04.12.2019    source источник
comment
Я думаю, вам нужна роль администратора кластера для создания ресурсов в нескольких проектах, или вам следует назначить разрешение на создание ресурсов в целевых проектах.   -  person Daein Park    schedule 04.12.2019
comment
Спасибо, Дэин, я думал то же самое, но у меня есть администратор кластера, и проблема все еще не решена. Сообщение об ошибке заставляет меня думать, что проблема в самом шаблоне   -  person Richard Chester    schedule 04.12.2019


Ответы (1)


Согласно документации:

Если метаданные определения объекта включают фиксированное значение поля пространства имен, это поле будет исключено из определения во время создания экземпляра шаблона. Если поле пространства имен содержит ссылку на параметр, будет выполнена обычная подстановка параметра, и объект будет создан в любом пространстве имен, в которое подстановка параметра разрешила значение, при условии, что у пользователя есть разрешение на создание объектов в этом пространстве имен.

Так что просто укажите необходимые пространства имен в качестве параметров шаблона. Полезный пример:

apiVersion: template.openshift.io/v1
kind: Template
metadata:
  name: xxx
parameters:
- name: ns1
  value: test1
- name: ns2
  value: test2
objects:
- apiVersion: v1
  data:
    key1: value1
  kind: ConfigMap
  metadata:
    namespace: ${ns1}
    name: cm1
- apiVersion: v1
  data:
    key2: value2
  kind: ConfigMap
  metadata:
    namespace: ${ns2}
    name: cm2
person Oligzeev    schedule 20.01.2020