无法从我的本地计算机访问部署在OpenShift上的Flask应用程序所服务的终结点

无法从我的本地计算机访问部署在OpenShift上的Flask应用程序所服务的终结点,flask,python-requests,openshift,Flask,Python Requests,Openshift,我有一个非常简单的Flask应用程序,它提供了一个机器学习模型,输出一个预测,给定一些文本作为输入(分类任务)。应用程序的docker映像已在OpenShift中成功构建和部署 我可以从OpenShift内部的终端控制台使用curl联系端点,并获得预期的响应 我的目标是能够在我的本地机器上(在OpenShift之外)执行同样的操作。为了做到这一点,我尝试使用请求Python库,但直到现在我还没有成功 我试着按照,使用下面的脚本 导入请求 导入json url='1〕http://insert_i

我有一个非常简单的Flask应用程序,它提供了一个机器学习模型,输出一个预测,给定一些文本作为输入(分类任务)。应用程序的docker映像已在OpenShift中成功构建和部署

我可以从OpenShift内部的终端控制台使用
curl
联系端点,并获得预期的响应

我的目标是能够在我的本地机器上(在OpenShift之外)执行同样的操作。为了做到这一点,我尝试使用
请求
Python库,但直到现在我还没有成功

我试着按照,使用下面的脚本

导入请求
导入json
url='1〕http://insert_ip_here:insert_port_here'
headers={'Authorization':'Bearer insert_token_here'}
在此处插入
data=json.dumps({'email-text':insert_text})
pred=requests.post(url,数据,headers=headers,verify=False)
但是我得到了以下错误

ConnectionError:HTTPConnectionPool(主机='***',端口=8080):url:/api超过了最大重试次数(由NewConnectionError引起)(':未能建立新连接:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应”)
请注意,如果我在本地计算机上对应用程序进行dockerize,并使用上面相同的脚本(没有
标题
验证
请求中的
参数。post
和url),则一切正常

更新:以下是app.py脚本

导入pickle
将numpy作为np导入
作为pd进口熊猫
从烧瓶导入烧瓶、请求、中止、jsonify
#这里是我加载机器学习模型的地方
将open('fasttext_classifier.pkl','rb')作为f:
模型=pickle.load(f)
#创建应用程序对象作为类Flask的实例
app=烧瓶(名称)
#在下面定义的函数“make_predict”中添加一个decorator。该函数只是将预测返回为JSON
@app.route('/',methods=['POST'])
def make_predict():
data=request.get_json(force=True)
预测请求=[数据['email-text']]
predict\u request=np.array(predict\u request)
预测=模型预测(pd.DataFrame(预测请求))
输出=[预测[0]]
返回jsonify(预测类=输出)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
应用程序运行(主机=0.0.0.0',端口=8080)

知道上述错误的原因吗?

你能分享flask应用程序上的相关片段吗?你确定你可以从外部访问它吗?我已经根据@pep 1的评论更新了这个问题。不确定我应该怎么做才能从外部访问它。这可能很明显,但如果您使用端口8080,因为您有另一个应用程序正在侦听端口80,您是否更新了服务器的防火墙并相应地转发流量?您是否创建了到服务/pod的路由?