我有一个Openshift模板yml,它将创建以下对象“ deploymentconfig,buildconfig,services和imagetag”。
要在模板中创建所有对象,我们可以使用以下命令,
oc process -f openshift-template.yml | oc apply -f-
是否可以通过openshift模板仅创建 deploymentconfig 或服务?
答案 0 :(得分:3)
可以使用标签选择器,如下例所示:
example.com/install: "true"
。apiVersion: v1
kind: Template
metadata:
name: user-template
objects:
- apiVersion: v1
kind: ConfigMap
metadata:
name: my-username
labels:
example.com/install: "true"
data:
username: ${USERNAME}
- apiVersion: v1
kind: ConfigMap
metadata:
name: not-installed
data:
username: ${USERNAME}
parameters:
- description: USERNAME for authentication
from: '[A-Z0-9]{8}'
generate: expression
name: USERNAME
oc create
命令时指定选择器,例如:$ oc process -f template.yaml -p USERNAME=rmaloku \
| oc create --selector example.com/install=true -f -
configmap/my-username created
从输出中,我们可以看到仅安装了带标签的资源。
选择器标志的说明:
--selector='': Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)