我已经构建了一个烧瓶应用程序,我想添加到Kubernetes入口中。目前,我有两个问题似乎无法解决:
以我确实需要使用古尼康为前提,我继续进行并将其添加到了烧瓶泊坞窗中。我的问题是,我现在收到502 Bad Gateway Error nginx,并且pod的日志未打印任何错误。如果创建负载平衡器服务而不是与入口一起使用的clusterIP,则带有独角兽的flask应用程序可以正常工作,就像flask应用程序在入口不添加时一样。我不知道为什么要写这个问题。 dockerfile安装所有依赖项以运行flask并完成:
EXPOSE 8080
CMD ["gunicorn", "--config", "/flaskapp/gunicorn_config.py", "run:app"]
我已经这样配置了我的入口:
apiVersion: v1
items:
- apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.bluemix.net/client-max-body-size: 128m
ingress.bluemix.net/rewrite-path: serviceName=flask-service rewrite=/;
spec:
rules:
- host: <my-domain>
http:
paths:
- backend:
serviceName: flask-service
servicePort: 8080
path: /flask/
tls:
- hosts:
- <my-domain>
secretName: <my-secret>
status:
loadBalancer:
ingress:
- ip: <ip>
服务如下:
apiVersion: v1
kind: Service
metadata:
name: flask-service
labels:
app: flask-service
spec:
type: ClusterIP
ports:
- port: 8080
protocol: TCP
selector:
app: flask
指定正确的映像和端口的部署也非常简单。
鉴于我需要干姜粉(或类似产品),如何解决我收到的502 Bad Gateway错误?
答案 0 :(得分:1)
IMO,您不需要进行大范围的缩放(这是一个过大的选择),因为如果您的单个应用程序实例已经存在,则HPA会进行缩放。这取决于CPU,内存或custom metrics。
在我看来502错误似乎更多是关于配置gunicorn的问题(对工作人员是否有限制?您可以看到工作人员只测试1个吗?如何在容器内缩放?容器上的资源限制?)。在不查看日志或环境的情况下很难说出来,但可能是您的枪械工人在容器中rash动,从而返回了无效的响应。您可能要在gunicorn命令行上尝试--log-level debug。
希望有帮助。