现在OpenShift Online V2宣布其服务终止,我希望将我的Python应用程序迁移到OpenShift Online V3,即OpenShift NextGen。 Pandas是一项要求(并在requirements.txt
中列出)
对于get pandas installed in v2来说,这已经不是一件容易的事了,但V3不允许在构建过程中进行手动交互(或者它是什么?)。
当我尝试构建我的应用程序时,构建过程会在一小时后停止。 pip
已下载并安装requirements.txt
的内容,并且正在为所选包运行setup.py
。和日志文件是
Running setup.py install for numpy
Running setup.py install for Bottleneck
Running setup.py install for numexpr
Running setup.py install for pandas
然后该过程停止,没有任何错误消息。
有没有人知道如何在OpenShift V3上构建需要pandas的Python应用程序?
答案 0 :(得分:7)
这将是两件事之一。
编译Pandas是一个巨大的记忆力,可能是因为编译器遇到了一些病态的情况。或者,此时生成的图像的大小超过内部限制,因此用完的磁盘空间不足。
如果是内存,则需要增加分配给构建窗格的内存。默认情况下,在线,这是512Mi。
要增加限制,您需要从Web控制台或使用oc edit
的命令行编辑构建配置的YAML / JSON。
对于YAML,您需要添加以下内容:
resources:
limits:
memory: 1Gi
这是设置字段:
$ oc explain bc.spec.resources.limits FIELD: limits <object>
DESCRIPTION:
Limits describes the maximum amount of compute resources allowed. More
info: http://kubernetes.io/docs/user-guide/compute-resources/
最大值为1Gi。看起来这个值的增加确实可以让构建完成,而将它增加到768Mi是不够的。
请注意,这会在运行时从compute-resources-timebound
的配额中删除内存,因为它在构建期间全部使用它,所以您可能会同时尝试和执行其他操作。
FWIW,本地构建的图像大小,而不是在线,只产生:
172.30.1.1:5000/mysite/osv3test latest f323d9b036f6 About an hour ago 910MB
因此,除非事情被清理之前使用的中间空间是一个问题,否则不是问题。
因此增加用于构建的内存似乎就是答案。