【发布时间】:2018-11-01 18:52:24
【问题描述】:
我已经构建了一个烧瓶应用程序,我想将它添加到 Kubernetes 入口。目前,我有 2 个问题我似乎无法理解:
- 为了让烧瓶应用程序能够处理多个请求,我想我会添加 gunicorn。我需要这个,还是可以通过使用某种自动水平缩放和入口路由层来处理它来缓解这个问题?我是 Kubernetes 新手,也许解决方案比我在下面尝试的更简单。
-
假设我确实需要 gunicorn,我继续将其添加到烧瓶泊坞窗中。我遇到的问题是我现在得到一个 502 Bad Gateway Error nginx 并且 pod 的日志没有打印任何错误。如果我创建负载均衡器服务而不是与入口一起使用的 clusterIP,则带有独角兽的烧瓶应用程序可以正常工作,就像烧瓶应用程序在入口上所做的那样没有添加 gunicorn。我不知道为什么要写这个问题。 dockerfile 安装所有依赖项以运行烧瓶并完成:
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指定正确的镜像和端口,部署也很简单。
鉴于我需要 gunicorn(或类似产品),我该如何解决我得到的 502 Bad Gateway Error?
【问题讨论】:
标签: flask kubernetes ibm-cloud gunicorn kubernetes-ingress