1

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

 apiVersion: v1
 kind: ConfigMap
 metadata:
  name: sampleapp
 data:  
  username: usernameTest
  password: passwordTest

但是,如果配置已经存在,我找不到创建/更新的命令(类似于 kubectl apply 命令)。如果作业是第一次运行,您能否提供正确的命令来创建资源,否则更新。

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

谢谢。

4

2 回答 2

3

您可以使用“oc apply”命令来更新已经存在的资源。

像下面的例子:

#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
于 2018-05-14T12:10:24.357 回答
3

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

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

在此之后 - 我执行了: oc set env --from=configmap/example-cm dc/example-dc

于 2019-06-17T19:10:34.253 回答