我在openshift中有一个部署配置,该配置将轮询映像流中的更改并在有新映像可用时开始新的部署。我有一个需要从图像流重新启动/重新部署相同标签的要求。我可以通过openshift Web控制台中项目的“部署”部分中的“部署”选项卡来实现此目的。正在检查相同的cli版本。我是openshift的新手,我找不到它。我签出了oc rollout选项,但它基本上部署了最新的标签,但是我需要重新部署现有的标签本身。
答案 0 :(得分:1)
实际上,您从一开始就拥有正确的答案。正确的方法是oc推出最新的dc / dcname。这等效于在用户界面中点击“部署”按钮。您无需修改部署即可“欺骗”其进行重新部署。
显示“最新”时,表示您的部署配置为最新版本,而不是正在部署的任何映像的最新版本。
从最新推出的oc手册页中: “使用触发器的最新状态为部署配置启动新的部署”
答案 1 :(得分:0)
如果我正确理解了这个问题,则要使用具有特定图像标签的图像流中的图像重新部署并重新启动Pod。
一种实现方法是,通过将DeploymentConfig中的图像设置为所需的标签来更新该图像的图像标签。如果DeploymentConfig定义了类型为“ ConfigChange”的触发器,则更新将触发自动重新部署,并且吊舱重新启动。要更新DeploymentConfig,请对其进行编辑(oc edit dc/<deployment_config>
或patch it。
否则,就像在OpenShift Web控制台中一样,要回滚到特定的部署修订,请运行:
oc rollout undo dc/<deployment-name> --to-revision=<revision-number>
显然,您需要知道修订号。键入oc rollout undo --help
,以了解该命令的一些复杂之处。
编辑:使“ pod”基于图像流中的更改而自动重启的“ OpenShift方式”是使用ImageChange触发器。文档中的一个示例是[here] [3]。
这可能在开发过程中很方便,但是总的来说,最好的做法是分别标记每个图像版本,并在标记图像时引用not to use latest
。