我有一个 Openshift 模板 yml,它将创建以下对象“deploymentconfig、buildconfig、services 和 imagetag”。
要创建模板中的所有对象,我们可以使用以下命令,
oc process -f openshift-template.yml | oc apply -f-
有什么方法可以从 openshift 模板仅创建 deploymentconfig 或 service 吗?
最佳答案
这可以使用标签选择器实现,如下例所示:
- 为您要安装的资源添加标签,例如configmap my-username 的标签
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)
关于openshift - OpenShift 模板资源的部分安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283224/