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