Openshift配置映射:创建和更新命令

Openshift配置映射:创建和更新命令,openshift,kubectl,openshift-client-tools,openshift-online,Openshift,Kubectl,Openshift Client Tools,Openshift Online,我正在编写示例程序,用configmap部署到Openshift中。我在源代码文件夹中有以下configmap yaml,因此在安装devops时,Jenkins应该选择此yaml并创建/更新配置 apiVersion: v1 kind: ConfigMap metadata: name: sampleapp data: username: usernameTest password: passwordTest 但是,如果配置已经存在,我找不到创建/更新的命令(类似于k

我正在编写示例程序,用configmap部署到Openshift中。我在源代码文件夹中有以下configmap yaml,因此在安装devops时,Jenkins应该选择此yaml并创建/更新配置

 apiVersion: v1
 kind: ConfigMap
 metadata:
  name: sampleapp
 data:  
  username: usernameTest
  password: passwordTest
但是,如果配置已经存在,我找不到创建/更新的命令(类似于kubectl apply命令)。如果作业是第一次运行,您能否帮助使用正确的命令来创建资源,如果不是,则进行更新

我还想从src存储库中的yaml文件创建/更新服务和路由

谢谢。

您可以使用“ocapply”命令更新已经存在的资源

如以下示例所示:

#oc process -f openjdk-basic-template.yml  -p APPLICATION_NAME=spring-rest -p SOURCE_REPOSITORY_URL=https://github.com/rest.git -p CONTEXT_DIR='' | oc apply -f-

service "spring-rest" configured
route "spring-rest" created
imagestream "spring-rest" configured
buildconfig "spring-rest" configured
deploymentconfig "spring-rest" configured
您可以使用“ocapply”命令来更新已经存在的资源

如以下示例所示:

#oc process -f openjdk-basic-template.yml  -p APPLICATION_NAME=spring-rest -p SOURCE_REPOSITORY_URL=https://github.com/rest.git -p CONTEXT_DIR='' | oc apply -f-

service "spring-rest" configured
route "spring-rest" created
imagestream "spring-rest" configured
buildconfig "spring-rest" configured
deploymentconfig "spring-rest" configured

如果您在yaml文件中有configmap,或者存储在某个地方 你可以做替换

oc replace--force-f config-map.yaml>>这将更新现有的configmap(它实际上删除并创建一个新的configmap)

在这之后,我做到了
oc set env--from=configmap/example cm dc/example dc

如果您在yaml文件中有configmap或存储在某个地方 你可以做替换

oc replace--force-f config-map.yaml>>这将更新现有的configmap(它实际上删除并创建一个新的configmap)

在这之后,我做到了
oc set env--from=configmap/example cm dc/example dc

使用“oc apply”。oc命令除了额外的选项外,还有与kubectl相同的子命令。但当再次运行同一命令时,在创建资源时会出现“资源已存在”错误。这是有道理的,但不确定在CI/CD中使用哪个命令,如果新的应用程序将创建,如果已经存在,将更新应用程序和资源。oc apply命令不适用于new-app。请使用
oc进程
管道传输到
oc apply
。使用“oc apply”。oc命令除了额外的选项外,还有与kubectl相同的子命令。但当再次运行同一命令时,在创建资源时会出现“资源已存在”错误。这是有道理的,但不确定在CI/CD中使用哪个命令,如果新的应用程序将创建,如果已经存在,将更新应用程序和资源。oc apply命令不适用于new-app。请使用管道传输到
oc apply
oc process