Openshift 模板是否可以在多个项目上创建对象



如果我创建项目"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

最新更新