Kubernetes Openshift模板可以在多个项目上创建对象吗

Kubernetes Openshift模板可以在多个项目上创建对象吗,kubernetes,openshift,openshift-origin,openshift-3,okd,Kubernetes,Openshift,Openshift Origin,Openshift 3,Okd,如果我创建了项目“A”,并希望从内部部署一个模板,在项目“A”和另一个项目“B”中创建对象,我将如何实现这一点。我试图在模板中简单地指定项目“B”的名称空间,但出现了错误 提供的对象的命名空间与请求时发送的命名空间不匹配 根据: 如果对象定义的元数据包含固定的名称空间字段值,则在模板实例化期间该字段将从定义中剥离。如果名称空间字段包含参数引用,则将执行普通参数替换,并且将在参数替换将值解析为的任何名称空间中创建对象,前提是用户有权在该名称空间中创建对象 所以只需指定所需的名称空间作为模板的参数。

如果我创建了项目“A”,并希望从内部部署一个模板,在项目“A”和另一个项目“B”中创建对象,我将如何实现这一点。我试图在模板中简单地指定项目“B”的名称空间,但出现了错误

提供的对象的命名空间与请求时发送的命名空间不匹配

根据:

如果对象定义的元数据包含固定的名称空间字段值,则在模板实例化期间该字段将从定义中剥离。如果名称空间字段包含参数引用,则将执行普通参数替换,并且将在参数替换将值解析为的任何名称空间中创建对象,前提是用户有权在该名称空间中创建对象

所以只需指定所需的名称空间作为模板的参数。可用示例:

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

我认为您需要群集管理员角色来跨多个项目创建资源,或者您应该分配在目标项目中创建资源的权限。谢谢Daein,我也这么认为,但我确实有群集管理员,而且仍然存在问题。错误消息使我认为问题出在实际模板中