在修改(和应用)OpenShift 模板时动态应用更改

Apply changes dynamically when OpenShift template is modified (and applied)

我用服务、deploymentconfig、buildconfig 和图像流定义了一个模板(让我们称之为 template.yaml),用 oc apply -f template.yaml 和 运行 oc new-app app-name 应用它来创建来自模板的新应用程序。该应用程序基本上所做的是使用 S2I 构建一个 Node.js 应用程序,将其写入新的 ImageStream 并将其部署到公开必要服务的 pod。

现在我决定对模板进行一些更改并将其应用到 OpenShift 上。我如何着手确保所述模板中的所有资源也得到重新配置,而不必删除与该模板关联的所有资源并再次重新创建它?

我认为template 只用于第一次创建相关资源。即使您修改了 template,它也不会与创建的资源相关联。所以你应该重新创建或修改每个被修改的资源。

但是您可以使用以下命令简单地修改 template 创建的所有资源。

# oc apply -f template_modified.yaml | oc replace -f -

希望对你有所帮助

正确的命令结果是:

$ oc apply -f template_modified.yaml 
$ oc process -f template_modified.yaml | oc replace -f -

这对我在 OpenShift 3.9 上有用。