Openshift 3:除非pod手动缩放为0然后返回1,否则App将不会部署

时间:2017-12-06 21:06:01

标签: openshift openshift-3

我可以在我的Openshift 3 Starter应用程序上部署新构建的唯一方法是,如果我手动将现有的运行pod缩小到0,部署我的最新版本,然后将pod缩放回1。

如果我没有手动将pod缩小到0,则部署过程会导致内存不足或超时。当系统在新构建之后自动部署时,日志表示它将pod缩小到0,部署,然后扩展到1,这就是错误发生的时间。

我的应用程序位于美国西部2。

这只是一个Openshift 3错误,还是我构建和部署不正确?

1 个答案:

答案 0 :(得分:1)

这可能意味着您处于内存资源的极限。这是因为默认部署策略是滚动部署,这意味着在旧实例停止之前,需要有足够的可用内存来启动新实例。

您需要做的是切换部署配置以使用“重新创建”部署策略而不是“滚动”。使用此策略,现有实例将在启动新实例之前关闭,因此您可以在内存配额内工作。

您可以通过在Web控制台中编辑部署配置或运行命令来更改为“重新创建”:

oc patch dc/yourappname --patch '{"spec":{"strategy":{"type":"Recreate"}}}'