现在,OpenShift Online V2宣布了服务的结束,我希望将我的Python应用程序迁移到OpenShift Online v3,aka openshift nextgen。熊猫是一个要求(并在requirements.txt
中列出)
在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应用程序?
这将是两件事之一。
汇编熊猫是一个巨大的记忆猪,可能是由编译器击中某种病理案例引起的。或者,该点生成的图像的大小超过了内部限制,因此从分配的磁盘空间中耗尽。
如果是内存,则需要增加分配给构建POD的内存。默认在线中是512mi。
要增加限制您需要从Web控制台或使用oc edit
的命令行编辑YAML/JSON的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
因此,除非清理之前使用的中介空间是一个问题,否则这不是问题。
因此,用于构建的内存增加似乎是答案。