OpenShift模板资源的部分安装

问题描述 投票:1回答:1

我有一个Openshift模板yml,它将创建以下对象“ deploymentconfig,buildconfig,services和imagetag”。要在模板中创建所有对象,我们可以使用以下命令,oc process -f openshift-template.yml | oc apply -f-

有什么方法可以从openshift模板中仅创建deploymentconfigservice吗?

openshift
1个回答
3
投票

这可以使用标签选择器,如下例所示:

  1. 向要安装的资源添加标签,例如configmap 我的用户名的标签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
  1. [执行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)
© www.soinside.com 2019 - 2024. All rights reserved.