【发布时间】:2018-03-25 03:10:11
【问题描述】:
我是 openshift 新手,我使用 s2i 策略创建了新的 openshift 应用程序。但我的问题是每次成功构建它都会创建新的 pod,而不是覆盖当前正在运行的 pod 上的图像。
有人可以告诉我配置更改以使其替换正在运行的 pod 上的构建映像,而不是创建新的 pod 吗?
【问题讨论】:
标签: openshift openshift-enterprise openshift-3
我是 openshift 新手,我使用 s2i 策略创建了新的 openshift 应用程序。但我的问题是每次成功构建它都会创建新的 pod,而不是覆盖当前正在运行的 pod 上的图像。
有人可以告诉我配置更改以使其替换正在运行的 pod 上的构建映像,而不是创建新的 pod 吗?
【问题讨论】:
标签: openshift openshift-enterprise openshift-3
您看到的行为是正确的。当您触发新构建时,会创建一个临时构建 pod,用于协调新映像的构建。构建新镜像后,会将其推送到内部镜像注册表中,并且构建 pod 会关闭。
在默认滚动部署策略的情况下,接下来会创建一个运行新映像的新 pod。然后关闭使用旧映像的 pod。
问题是,你为什么期望旧的 pod 会留下来?
部署容器的文件系统未就地更新。如果您需要在新部署中保留正在运行的容器中的应用程序创建的数据或所做的更改,则需要使用持久卷并将更改存储在那里。
【讨论】:
Recreate,而不是Rolling。请参阅关于 OpenShift 的免费电子书第 17 章“应用程序生命周期管理”,地址为openshift.com/promotions/deploying-to-openshift.html