0

template.yaml我用服务、deploymentconfig、buildconfig 和 imagestream定义了一个模板(我们称之为模板),应用它oc apply -f template.yaml并运行oc new-app app-name以从模板创建新应用程序。该应用程序的基本工作是使用 S2I 构建 Node.js 应用程序,将其写入新的 ImageStream 并将其部署到暴露了必要服务的 Pod。

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

4

2 回答 2

1

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

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

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

希望对你有帮助

于 2019-03-07T13:47:55.587 回答
1

正确的命令原来是:

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

这在 OpenShift 3.9 上对我有用。

于 2019-03-24T08:20:05.650 回答