运行prehook pod时加载共享库时出错

时间:2017-09-14 09:34:43

标签: openshift web-deployment

我是OpenShift的新手,我正在将我的烧瓶应用程序部署到它上面,但遇到了一些问题。我的应用/容器名称为flog

我设置了生命周期预挂,以确保为应用部署正确创建数据库。这是我的配置(关键部分):

spec:
  replicas: 1
  selector:
    deploymentconfig: flog
  strategy:
    activeDeadlineSeconds: 21600
    resources: {}
    rollingParams:
      intervalSeconds: 1
      maxSurge: 25%
      maxUnavailable: 25%
      pre:
        execNewPod:
          command:
            - flask
            - init
          containerName: flog
          env:
            - name: FLASK_APP
              value: wsgi.py
        failurePolicy: Abort
      timeoutSeconds: 600
      updatePeriodSeconds: 1
    type: Rolling

它可以在建筑物中正常工作但在前挂中断

--> pre: Running hook pod ...
/opt/app-root/bin/python3: error while loading shared libraries: libpython3.5m.so.rh-python35-1.0: cannot open shared object file: No such file or directory

但是,当我在终端中调试并输入python3命令时,它运行良好。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要在图像中添加一个shell脚本,然后运行您的命令。需要shell脚本包装器,因为shell环境的初始化具有启用Python环境的副作用,包括设置环境变量以便它可以找到Python共享库。

所以改变:

      command:
        - flask
        - init

为:

      command:
        - somescript

somescript中有:

#!/bin/bash
flask init