如何在 Openshift 模板中对对象的创建进行排序
How to order the creation of objects in an Openshift template
我正在尝试创建一个模板,允许在多个环境中提升应用程序。目前我创建了一个项目,然后将模板导入其中,该模板创建了默认命名空间(我手动创建的项目)中需要的所有对象,我需要的其他项目和一个允许我提升的集群角色 pods通过环境。问题是我还希望模板在新创建的项目中创建对象,但这失败并显示错误消息:
the namespace of the provided object does not match the namespace sent on the request
我认为这可能是 Openshift 尝试在创建项目的同时创建对象并且在尝试创建对象时找不到项目的问题。为了解决这个问题,我尝试使用 service.alpha.openshift.io/dependencies
注释但得到了同样的错误
如有任何帮助,我们将不胜感激
If an object definition’s metadata includes a fixed namespace field value, the field will be stripped out of the definition during template instantiation. If the namespace field contains a parameter reference, normal parameter substitution will be performed and the object will be created in whatever namespace the parameter substitution resolved the value to, assuming the user has permission to create objects in that namespace.
因此只需将所需的命名空间指定为模板的参数即可。可用示例:
apiVersion: template.openshift.io/v1
kind: Template
metadata:
name: yyy
parameters:
- name: ns3
value: test3
objects:
- apiVersion: v1
kind: Namespace
metadata:
name: ${ns3}
spec:
finalizers:
- kubernetes
- apiVersion: v1
data:
key3: value3
kind: ConfigMap
metadata:
namespace: ${ns3}
name: cm3
我正在尝试创建一个模板,允许在多个环境中提升应用程序。目前我创建了一个项目,然后将模板导入其中,该模板创建了默认命名空间(我手动创建的项目)中需要的所有对象,我需要的其他项目和一个允许我提升的集群角色 pods通过环境。问题是我还希望模板在新创建的项目中创建对象,但这失败并显示错误消息:
the namespace of the provided object does not match the namespace sent on the request
我认为这可能是 Openshift 尝试在创建项目的同时创建对象并且在尝试创建对象时找不到项目的问题。为了解决这个问题,我尝试使用 service.alpha.openshift.io/dependencies
注释但得到了同样的错误
如有任何帮助,我们将不胜感激
If an object definition’s metadata includes a fixed namespace field value, the field will be stripped out of the definition during template instantiation. If the namespace field contains a parameter reference, normal parameter substitution will be performed and the object will be created in whatever namespace the parameter substitution resolved the value to, assuming the user has permission to create objects in that namespace.
因此只需将所需的命名空间指定为模板的参数即可。可用示例:
apiVersion: template.openshift.io/v1
kind: Template
metadata:
name: yyy
parameters:
- name: ns3
value: test3
objects:
- apiVersion: v1
kind: Namespace
metadata:
name: ${ns3}
spec:
finalizers:
- kubernetes
- apiVersion: v1
data:
key3: value3
kind: ConfigMap
metadata:
namespace: ${ns3}
name: cm3